home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AmigActive 2
/
AACD 2.iso
/
AACD
/
Magazine
/
GraphicsCards
/
StormMesa
/
src
/
image.s
< prev
next >
Wrap
Text File
|
1999-02-04
|
138KB
|
7,872 lines
; Storm C Compiler
; Work2:Mesa3/Mesa-3.0/src/image.c
mc68030
mc68881
XREF _gl_map_color
XREF _gl_scale_and_bias_color
XREF _gl_error
XREF _gl_problem
XREF _q_memcpy
XREF _malloc
XREF _free
XREF _calloc
XREF _CC
SECTION "_gl_flip_bytes:0",CODE
;void gl_flip_bytes( GLubyte *p, GLuint n )
XDEF _gl_flip_bytes
_gl_flip_bytes
movem.l d2-d5,-(a7)
move.l $18(a7),d4
move.l $14(a7),a1
L818
; for (i=0;
moveq #0,d2
bra.b L820
L819
; b = (GLuint) p[i];
moveq #0,d1
move.b 0(a1,d2.l),d1
; a = ((b & 0x01) << 7) |
move.l d1,d0
and.l #1,d0
moveq #7,d3
asl.l d3,d0
move.l d1,d3
and.l #2,d3
moveq #5,d5
asl.l d5,d3
or.l d3,d0
move.l d1,d3
and.l #4,d3
moveq #3,d5
asl.l d5,d3
or.l d3,d0
move.l d1,d3
and.l #$8,d3
moveq #1,d5
asl.l d5,d3
or.l d3,d0
move.l d1,d3
and.l #$10,d3
moveq #1,d5
lsr.l d5,d3
or.l d3,d0
move.l d1,d3
and.l #$20,d3
moveq #3,d5
lsr.l d5,d3
or.l d3,d0
move.l d1,d3
and.l #$40,d3
moveq #5,d5
lsr.l d5,d3
or.l d3,d0
and.l #$80,d1
moveq #7,d3
lsr.l d3,d1
or.l d1,d0
; p[i] = (GLubyte) a;
move.b d0,0(a1,d2.l)
addq.l #1,d2
L820
cmp.l d4,d2
blo.b L819
L821
movem.l (a7)+,d2-d5
rts
SECTION "_gl_swap2:0",CODE
rts
;void gl_swap2( GLushort *p, GLuint n )
XDEF _gl_swap2
_gl_swap2
movem.l d2-d4,-(a7)
move.l $14(a7),d3
move.l $10(a7),a0
L822
; for (i=0;
moveq #0,d0
bra.b L824
L823
; p[i] = (p[i] >> 8) | ((p[i] << 8) & 0xff00);
moveq #0,d1
move.w 0(a0,d0.l*2),d1
moveq #$8,d2
asr.l d2,d1
moveq #0,d2
move.w 0(a0,d0.l*2),d2
moveq #$8,d4
asl.l d4,d2
and.l #$FF00,d2
or.l d2,d1
move.w d1,0(a0,d0.l*2)
addq.l #1,d0
L824
cmp.l d3,d0
blo.b L823
L825
movem.l (a7)+,d2-d4
rts
SECTION "_gl_swap4:0",CODE
;void gl_swap4( GLuint *p, GLuint n )
XDEF _gl_swap4
_gl_swap4
movem.l d2-d5,-(a7)
move.l $18(a7),d4
move.l $14(a7),a1
L826
; for (i=0;
moveq #0,d2
bra.b L828
L827
; b = p[i];
move.l 0(a1,d2.l*4),d0
; a = (b >> 24)
move.l d0,d1
moveq #$18,d3
lsr.l d3,d1
move.l d0,d3
moveq #$8,d5
lsr.l d5,d3
and.l #$FF00,d3
or.l d3,d1
move.l d0,d3
moveq #$8,d5
asl.l d5,d3
and.l #$FF0000,d3
or.l d3,d1
moveq #$18,d3
asl.l d3,d0
and.l #-$1000000,d0
or.l d0,d1
; p[i] = a;
move.l d1,0(a1,d2.l*4)
addq.l #1,d2
L828
cmp.l d4,d2
blo.b L827
L829
movem.l (a7)+,d2-d5
rts
SECTION "_gl_sizeof_type:0",CODE
;GLint gl_sizeof_type( GLenum type )
XDEF _gl_sizeof_type
_gl_sizeof_type
move.l 4(a7),d0
L830
; switch (type)
cmp.l #$1404,d0
beq.b L837
bgt.b L840
cmp.l #$1402,d0
beq.b L835
bgt.b L841
cmp.l #$1400,d0
beq.b L833
cmp.l #$1401,d0
beq.b L832
bra.b L839
L841
bgt.b L834
L840
cmp.l #$1406,d0
beq.b L838
bgt.b L842
blt.b L836
L842
cmp.l #$1A00,d0
beq.b L831
bra.b L839
;
L831
moveq #0,d0
rts
L832
moveq #1,d0
rts
L833
moveq #1,d0
rts
L834
moveq #2,d0
rts
L835
moveq #2,d0
rts
L836
moveq #4,d0
rts
L837
moveq #4,d0
rts
L838
moveq #4,d0
rts
L839
moveq #-1,d0
rts
SECTION "_gl_sizeof_packed_type:0",CODE
;GLint gl_sizeof_packed_type( GLenum type )
XDEF _gl_sizeof_packed_type
_gl_sizeof_packed_type
move.l 4(a7),d0
L843
; switch (type)
cmp.l #$8034,d0
beq L858
bgt.b L865
cmp.l #$1405,d0
beq L849
bgt.b L866
cmp.l #$1402,d0
beq L848
bgt.b L867
cmp.l #$1400,d0
beq L846
cmp.l #$1401,d0
beq L845
bra L864
L867
cmp.l #$1403,d0
beq L847
cmp.l #$1404,d0
beq L850
bra L864
L866
cmp.l #$8032,d0
beq L852
bgt.b L868
cmp.l #$1406,d0
beq L851
cmp.l #$1A00,d0
beq.b L844
bra L864
L868
bgt L856
L865
cmp.l #$8364,d0
beq L855
bgt.b L869
cmp.l #$8362,d0
beq.b L853
bgt.b L870
cmp.l #$8035,d0
beq L860
cmp.l #$8036,d0
beq L862
bra L864
L870
bgt.b L854
L869
cmp.l #$8367,d0
beq.b L861
bgt.b L871
cmp.l #$8365,d0
beq.b L857
cmp.l #$8366,d0
beq.b L859
bra.b L864
L871
cmp.l #$8368,d0
beq.b L863
bra.b L864
;
L844
moveq #0,d0
rts
L845
moveq #1,d0
rts
L846
moveq #1,d0
rts
L847
moveq #2,d0
rts
L848
moveq #2,d0
rts
L849
moveq #4,d0
rts
L850
moveq #4,d0
rts
L851
moveq #4,d0
rts
L852
moveq #1,d0
rts
L853
moveq #1,d0
rts
L854
moveq #2,d0
rts
L855
moveq #2,d0
rts
L856
moveq #2,d0
rts
L857
moveq #2,d0
rts
L858
moveq #2,d0
rts
L859
moveq #2,d0
rts
L860
moveq #4,d0
rts
L861
moveq #4,d0
rts
L862
moveq #4,d0
rts
L863
moveq #4,d0
rts
L864
moveq #-1,d0
rts
SECTION "_gl_components_in_format:0",CODE
;GLint gl_components_in_format( GLenum format )
XDEF _gl_components_in_format
_gl_components_in_format
move.l 4(a7),d0
L872
; switch (format)
cmp.l #$8036,d0
beq L880
bgt L882
cmp.l #$1908,d0
beq L876
bgt.b L883
sub.l #$1900,d0
cmp.l #7,d0
bhi L881
move.l L884(pc,d0.l*4),a0
jmp (a0)
L884
dc.l L873
dc.l L873
dc.l L873
dc.l L873
dc.l L873
dc.l L873
dc.l L873
dc.l L875
L883
cmp.l #$8032,d0
beq L880
bgt.b L885
cmp.l #$190A,d0
beq L874
bgt.b L886
blt L873
L886
cmp.l #$8000,d0
beq L879
bra L881
L885
cmp.l #$8034,d0
beq L880
bgt.b L887
blt L880
L887
bgt L880
L882
cmp.l #$80E7,d0
beq.b L873
bgt.b L888
sub.l #$80E0,d0
cmp.l #6,d0
bhi.b L881
move.l L889(pc,d0.l*4),a0
jmp (a0)
L889
dc.l L877
dc.l L878
dc.l L873
dc.l L873
dc.l L873
dc.l L873
dc.l L873
L888
sub.l #$8362,d0
cmp.l #6,d0
bhi.b L881
move.l L890(pc,d0.l*4),a0
jmp (a0)
L890
dc.l L880
dc.l L880
dc.l L880
dc.l L880
dc.l L880
dc.l L880
dc.l L880
;
L873
moveq #1,d0
rts
L874
moveq #2,d0
rts
L875
moveq #3,d0
rts
L876
moveq #4,d0
rts
L877
moveq #3,d0
rts
L878
moveq #4,d0
rts
L879
moveq #4,d0
rts
L880
moveq #1,d0
rts
L881
moveq #-1,d0
rts
SECTION "_gl_pixel_addr_in_image:0",CODE
;GLvoid *gl_pixel_addr_in_image( const struct gl_pixelstore_attrib *p
XDEF _gl_pixel_addr_in_image
_gl_pixel_addr_in_image
L915 EQU -$48
link a5,#L915
movem.l d2-d7/a2/a3,-(a7)
movem.l $14(a5),d2/d5
move.l $1C(a5),d3
move.l $10(a5),d4
move.l $8(a5),a2
move.l $C(a5),a3
L891
; bytes_per_comp = gl_sizeof_packed_type( type );
move.l d3,-(a7)
jsr _gl_sizeof_packed_type
addq.w #4,a7
move.l d0,-4(a5)
; if (bytes_per_comp<0)
tst.l -4(a5)
bpl.b L893
L892
moveq #0,d0
movem.l (a7)+,d2-d7/a2/a3
unlk a5
rts
L893
; comp_per_pixel = gl_components_in_format( format );
move.l d5,-(a7)
jsr _gl_components_in_format
addq.w #4,a7
; if (comp_per_pixel<0 && type != GL_BITMAP)
tst.l d0
bpl.b L896
L894
cmp.l #$1A00,d3
beq.b L896
L895
moveq #0,d0
movem.l (a7)+,d2-d7/a2/a3
unlk a5
rts
L896
; alignment = packing->Alignment;
move.l (a2),d5
; if (packing->RowLength > 0)
move.l 4(a2),d1
cmp.l #0,d1
ble.b L898
L897
; pixels_per_row = packing->RowLength;
move.l 4(a2),-$10(a5)
bra.b L899
L898
; pixels_per_row = width;
move.l d4,-$10(a5)
L899
; if (packing->ImageHeight>0)
move.l $10(a2),d1
cmp.l #0,d1
ble.b L901
L900
; rows_per_image = packing->ImageHeight;
move.l $10(a2),-$18(a5)
bra.b L902
L901
; rows_per_image = height;
move.l d2,-$18(a5)
L902
; skiprows = packing->SkipRows;
move.l $C(a2),d2
; skippixels = packing->SkipPixels;
move.l $8(a2),d1
; skipimages = packing->SkipImages;
move.l $14(a2),d4
; if (type==GL_BITMAP)
cmp.l #$1A00,d3
bne.b L907
L903
; bytes_per_row = alignment
move.l d0,d3
muls.l -$10(a5),d3
move.l d5,d6
moveq #3,d7
asl.l d7,d6
divsl.l d6,d6:d3
tst.l d6
bne.b L905
L904
muls.l -$10(a5),d0
move.l d5,d3
moveq #3,d6
asl.l d6,d3
divsl.l d3,d0
bra.b L906
L905
muls.l -$10(a5),d0
move.l d5,d3
moveq #3,d6
asl.l d6,d3
divsl.l d3,d0
addq.l #1,d0
L906
muls.l d5,d0
; bytes_per_image = bytes_per_row * rows_per_image;
move.l d0,d3
muls.l -$18(a5),d3
; pixel_addr = (GLubyte *) image
add.l $20(a5),d4
muls.l d3,d4
add.l $24(a5),d2
muls.l d0,d2
lea 0(a3,d4.l),a0
add.l $28(a5),d1
divsl.l #$8,d1
lea 0(a0,d2.l),a0
add.l d1,a0
bra L914
L907
; if (bytes_per_comp>=alignment)
move.l -4(a5),d3
cmp.l d5,d3
blt.b L909
L908
; comps_per_row = comp_per_pixel * pixels_per_row;
move.l d0,d3
muls.l -$10(a5),d3
move.l d3,-$C(a5)
bra.b L913
L909
; GLint bytes_per_row = bytes_per_comp * comp_per_pi
move.l -4(a5),d3
muls.l d0,d3
muls.l -$10(a5),d3
; comps_per_row = alignment / bytes_per_comp
move.l d5,d6
divsl.l -4(a5),d6
move.l d6,-$C(a5)
move.l d3,d6
divsl.l d5,d7:d6
tst.l d7
bne.b L911
L910
divsl.l d5,d3
bra.b L912
L911
divsl.l d5,d3
addq.l #1,d3
L912
move.l -$C(a5),d5
muls.l d3,d5
move.l d5,-$C(a5)
L913
; bytes_per_image = bytes_per_comp * comps_per_row * rows_
move.l -4(a5),d3
muls.l -$C(a5),d3
muls.l -$18(a5),d3
; image->Height = height;
add.l $20(a5),d4
muls.l d3,d4
add.l $24(a5),d2
muls.l -4(a5),d2
muls.l -$C(a5),d2
lea 0(a3,d4.l),a0
add.l d2,a0
add.l $28(a5),d1
muls.l -4(a5),d1
muls.l d0,d1
add.l d1,a0
L914
move.l a0,d0
movem.l (a7)+,d2-d7/a2/a3
unlk a5
rts
SECTION "_alloc_image:0",CODE
;static struct gl_image *alloc_image( void )
_alloc_image
L916
pea 1.w
pea $22.w
jsr _calloc
addq.w #$8,a7
rts
SECTION "_alloc_error_image:0",CODE
;static struct gl_image *alloc_error_image( GLint width, GLint height
_alloc_error_image
movem.l d2-d6,-(a7)
move.l $28(a7),d2
move.l $24(a7),d3
move.l $20(a7),d4
move.l $1C(a7),d5
move.l $18(a7),d6
L917
; struct gl_image *image = alloc_image();
jsr _alloc_image
move.l d0,a0
; if (image)
cmp.w #0,a0
beq.b L919
L918
; image->Width = width;
move.l d6,(a0)
; image->Height = height;
move.l d5,4(a0)
; image->Depth = depth;
move.l d4,$8(a0)
; image->Format = format;
move.l d3,$10(a0)
; image->Type = type;
move.l d2,$14(a0)
; image->ErrorFlag = GL_TRUE;
move.b #1,$1C(a0)
L919
move.l a0,d0
movem.l (a7)+,d2-d6
rts
SECTION "_gl_free_image:0",CODE
;void gl_free_image( struct gl_image *image )
XDEF _gl_free_image
_gl_free_image
move.l a2,-(a7)
move.l $8(a7),a2
L920
; if (image->Data)
tst.l $18(a2)
beq.b L922
L921
; free(image->Data);
move.l $18(a2),-(a7)
jsr _free
addq.w #4,a7
L922
; free(image);
move.l a2,-(a7)
jsr _free
addq.w #4,a7
move.l (a7)+,a2
rts
SECTION "_gl_image_error_test:0",CODE
;GLboolean gl_image_error_test( GLcontext *ctx, const struct gl_image
XDEF _gl_image_error_test
_gl_image_error_test
move.l a2,-(a7)
movem.l $C(a7),a0/a2
move.l $8(a7),a1
L923
; if (image->Width <= 0 || image->Height <= 0 || image->Depth <=
move.l (a0),d0
cmp.l #0,d0
ble.b L926
L924
move.l 4(a0),d0
cmp.l #0,d0
ble.b L926
L925
move.l $8(a0),d0
cmp.l #0,d0
bgt.b L927
L926
; gl_error( ctx, GL_INVALID_VALUE, msg );
move.l a2,-(a7)
pea $501.w
move.l a1,-(a7)
jsr _gl_error
add.w #$C,a7
moveq #1,d0
move.l (a7)+,a2
rts
L927
moveq #0,d0
move.l (a7)+,a2
rts
SECTION "_unpack_depth_image:0",CODE
;static struct gl_image *unpack_depth_image( GLcontext *ctx, GLenum t
_unpack_depth_image
L982 EQU -$3C
link a5,#L982
movem.l d2-d7/a2-a4,-(a7)
movem.l $10(a5),d2/d7
move.l $8(a5),a4
L929
; image = alloc_image();
jsr _alloc_image
move.l d0,-4(a5)
; if (image)
tst.l -4(a5)
beq L938
L930
; image->Width = width;
move.l -4(a5),a0
move.l d2,(a0)
; image->Height = height;
move.l -4(a5),a0
move.l d7,4(a0)
; image->Depth = 1;
move.l -4(a5),a0
move.l #1,$8(a0)
; image->Components = 1;
move.l -4(a5),a0
move.l #1,$C(a0)
; image->Format = GL_DEPTH_COMPONENT;
move.l -4(a5),a0
move.l #$1902,$10(a0)
; if (type==GL_UNSIGNED_SHORT)
move.l $C(a5),d0
cmp.l #$1403,d0
bne.b L932
L931
; image->Type = GL_UNSIGNED_SHORT;
move.l -4(a5),a0
move.l #$1403,$14(a0)
; image->Data = malloc( width * height * sizeof(GLus
move.l d2,d0
muls.l d7,d0
moveq #1,d1
asl.l d1,d0
move.l d0,-(a7)
jsr _malloc
addq.w #4,a7
move.l -4(a5),a1
move.l d0,$18(a1)
bra.b L935
L932
; else if (type==GL_UNSIGNED_INT)
move.l $C(a5),d0
cmp.l #$1405,d0
bne.b L934
L933
; image->Type = GL_UNSIGNED_INT;
move.l -4(a5),a0
move.l #$1405,$14(a0)
; image->Data = malloc( width * height * sizeof(GLui
move.l d2,d0
muls.l d7,d0
moveq #2,d1
asl.l d1,d0
move.l d0,-(a7)
jsr _malloc
addq.w #4,a7
move.l -4(a5),a1
move.l d0,$18(a1)
bra.b L935
L934
; image->Type = GL_FLOAT;
move.l -4(a5),a0
move.l #$1406,$14(a0)
; image->Data = malloc( width * height * sizeof(GLfl
move.l d2,d0
muls.l d7,d0
moveq #2,d1
asl.l d1,d0
move.l d0,-(a7)
jsr _malloc
addq.w #4,a7
move.l -4(a5),a1
move.l d0,$18(a1)
L935
; image->RefCount = 0;
move.l -4(a5),a0
clr.l $1E(a0)
; if (!image->Data)
move.l -4(a5),a1
tst.l $18(a1)
bne.b L937
L936
move.l -4(a5),d0
movem.l (a7)+,d2-d7/a2-a4
unlk a5
rts
L937
; return
bra.b L939
L938
moveq #0,d0
movem.l (a7)+,d2-d7/a2-a4
unlk a5
rts
L939
; fDst = (GLfloat *) image->Data;
move.l -4(a5),a0
move.l $18(a0),a2
; sDst = (GLushort *) image->Data;
move.l -4(a5),a0
move.l $18(a0),-$C(a5)
; iDst = (GLuint *) image->Data;
move.l -4(a5),a0
move.l $18(a0),-$10(a5)
; for (i=0;
moveq #0,d5
bra L980
L940
; GLvoid *src = gl_pixel_addr_in_image( &ctx->Unpack, pixe
clr.l -(a7)
move.l d5,-(a7)
clr.l -(a7)
move.l $C(a5),-(a7)
pea $1902.w
move.l d7,-(a7)
move.l d2,-(a7)
move.l $18(a5),-(a7)
move.l a4,a0
add.l #$E65E,a0
pea (a0)
jsr _gl_pixel_addr_in_image
add.w #$24,a7
move.l d0,a0
; if (!src)
cmp.w #0,a0
bne.b L942
L941
move.l -4(a5),d0
movem.l (a7)+,d2-d7/a2-a4
unlk a5
rts
L942
; switch (type)
move.l $C(a5),d0
sub.l #$1400,d0
cmp.l #6,d0
bhi L978
move.l L983(pc,d0.l*4),a1
jmp (a1)
L983
dc.l L943
dc.l L947
dc.l L954
dc.l L951
dc.l L963
dc.l L972
dc.l L975
;
L943
; for (j=0;
moveq #0,d0
bra.b L945
L944
; *fDst++ = BYTE_TO_FLOAT(((GLbyte*)src)
move.b 0(a0,d0.l),d1
extb.l d1
fmove.l d1,fp0
fmul.s #$.40000000,fp0
fadd.s #$.3F800000,fp0
fmul.s #$.3B808080,fp0
fmove.s fp0,(a2)+
addq.l #1,d0
L945
cmp.l d2,d0
blt.b L944
L946
;
bra L979
L947
; for (j=0;
moveq #0,d0
bra.b L949
L948
; *fDst++ = UBYTE_TO_FLOAT(((GLubyte*)sr
moveq #0,d1
move.b 0(a0,d0.l),d1
fmove.l d1,fp0
fmul.s #$.3B808080,fp0
fmove.s fp0,(a2)+
addq.l #1,d0
L949
cmp.l d2,d0
blt.b L948
L950
;
bra L979
L951
; MEMCPY( sD
move.l d2,d0
moveq #1,d1
asl.l d1,d0
move.l d0,-(a7)
move.l a0,-(a7)
move.l -$C(a5),-(a7)
jsr _q_memcpy
add.w #$C,a7
; if (ctx->Unpack.SwapBytes)
move.l a4,a0
add.l #$E65E,a0
tst.b $18(a0)
beq.b L953
L952
; gl_swap2( sDst, width );
move.l d2,-(a7)
move.l -$C(a5),-(a7)
jsr _gl_swap2
addq.w #$8,a7
L953
; sDst += width;
move.l d2,d0
moveq #1,d1
asl.l d1,d0
add.l -$C(a5),d0
move.l d0,-$C(a5)
;
bra L979
L954
; if (ctx->Unpack.SwapBytes)
move.l a4,a1
add.l #$E65E,a1
tst.b $18(a1)
beq.b L959
L955
; for (j=0;
moveq #0,d0
bra.b L957
L956
; GLshort value = ((GLshort*)src)[
move.w 0(a0,d0.l*2),d3
; value = ((value >> 8) & 0xff) |
move.w d3,d1
ext.l d1
moveq #$8,d4
asr.l d4,d1
and.l #$FF,d1
ext.l d3
and.l #$FF,d3
moveq #$8,d4
asl.l d4,d3
or.l d3,d1
; *fDst++ = SHORT_TO_FLOAT(value);
ext.l d1
fmove.l d1,fp0
fmul.s #$.40000000,fp0
fadd.s #$.3F800000,fp0
fmul.s #$.37800080,fp0
fmove.s fp0,(a2)+
addq.l #1,d0
L957
cmp.l d2,d0
blt.b L956
L958
bra.b L962
L959
; for (j=0;
moveq #0,d0
bra.b L961
L960
; *fDst++ = SHORT_TO_FLOAT(((GLsho
move.w 0(a0,d0.l*2),d1
ext.l d1
fmove.l d1,fp0
fmul.s #$.40000000,fp0
fadd.s #$.3F800000,fp0
fmul.s #$.37800080,fp0
fmove.s fp0,(a2)+
addq.l #1,d0
L961
cmp.l d2,d0
blt.b L960
L962
;
bra L979
L963
; if (ctx->Unpack.SwapBytes)
move.l a4,a1
add.l #$E65E,a1
tst.b $18(a1)
beq.b L968
L964
; for (j=0;
moveq #0,d0
bra.b L966
L965
; GLint value = ((GLint*)src)[j];
move.l 0(a0,d0.l*4),d1
; case GL_BYTE:
move.l d1,d3
moveq #$18,d4
asr.l d4,d3
and.l #$FF,d3
move.l d1,d4
moveq #$8,d6
asr.l d6,d4
and.l #$FF00,d4
or.l d4,d3
move.l d1,d4
moveq #$8,d6
asl.l d6,d4
and.l #$FF0000,d4
or.l d4,d3
moveq #$18,d4
asl.l d4,d1
and.l #-$1000000,d1
or.l d3,d1
; *fDst++ = INT_TO_FLOAT(value);
fmove.l d1,fp0
fmul.s #$.40000000,fp0
fadd.s #$.3F800000,fp0
fmul.s #$.2F800000,fp0
fmove.s fp0,(a2)+
addq.l #1,d0
L966
cmp.l d2,d0
blt.b L965
L967
bra.b L971
L968
; for (j=0;
moveq #0,d0
bra.b L970
L969
; *fDst++ = INT_TO_FLOAT(((GLint*)
fmove.l 0(a0,d0.l*4),fp0
fmul.s #$.40000000,fp0
fadd.s #$.3F800000,fp0
fmul.s #$.2F800000,fp0
fmove.s fp0,(a2)+
addq.l #1,d0
L970
cmp.l d2,d0
blt.b L969
L971
; iDst += width;
move.l d2,d0
moveq #2,d1
asl.l d1,d0
add.l -$10(a5),d0
move.l d0,-$10(a5)
;
bra L979
L972
; MEMCPY(
move.l d2,d0
moveq #2,d1
asl.l d1,d0
move.l d0,-(a7)
move.l a0,-(a7)
move.l -$10(a5),-(a7)
jsr _q_memcpy
add.w #$C,a7
; if (ctx->Unpack.SwapBytes)
move.l a4,a0
add.l #$E65E,a0
tst.b $18(a0)
beq.b L974
L973
; gl_swap4( iDst, width );
move.l d2,-(a7)
move.l -$10(a5),-(a7)
jsr _gl_swap4
addq.w #$8,a7
L974
; iDst += width;
move.l d2,d0
moveq #2,d1
asl.l d1,d0
add.l -$10(a5),d0
move.l d0,-$10(a5)
;
bra.b L979
L975
; MEMCPY( f
move.l d2,d0
moveq #2,d1
asl.l d1,d0
move.l d0,-(a7)
move.l a0,-(a7)
move.l a2,-(a7)
jsr _q_memcpy
add.w #$C,a7
; if (ctx->Unpack.SwapBytes)
move.l a4,a0
add.l #$E65E,a0
tst.b $18(a0)
beq.b L977
L976
; gl_swap4( (GLuint*) fDst, width );
move.l d2,-(a7)
move.l a2,-(a7)
jsr _gl_swap4
addq.w #$8,a7
L977
; fDst += width;
move.l d2,d0
moveq #2,d1
asl.l d1,d0
add.l d0,a2
;
bra.b L979
L978
; gl_problem(ctx, "unpack_depth_image type" );
move.l #L928,-(a7)
move.l a4,-(a7)
jsr _gl_problem
addq.w #$8,a7
move.l -4(a5),d0
movem.l (a7)+,d2-d7/a2-a4
unlk a5
rts
L979
addq.l #1,d5
L980
cmp.l d7,d5
blt L940
L981
; return
move.l -4(a5),d0
movem.l (a7)+,d2-d7/a2-a4
unlk a5
rts
L928
dc.b 'unpack_depth_image type',0
SECTION "_unpack_stencil_image:0",CODE
;static struct gl_image *unpack_stencil_image( GLcontext *ctx, GLenum
_unpack_stencil_image
L1035 EQU -$24
link a5,#L1035
movem.l d2-d7/a2-a4,-(a7)
movem.l $10(a5),d2/d5
move.l $C(a5),d7
move.l $8(a5),a4
L985
; image = alloc_image();
jsr _alloc_image
move.l d0,-4(a5)
; if (image)
tst.l -4(a5)
beq.b L989
L986
; image->Width = width;
move.l -4(a5),a0
move.l d2,(a0)
; image->Height = height;
move.l -4(a5),a0
move.l d5,4(a0)
; image->Depth = 1;
move.l -4(a5),a0
move.l #1,$8(a0)
; image->Components = 1;
move.l -4(a5),a0
move.l #1,$C(a0)
; image->Format = GL_STENCIL_INDEX;
move.l -4(a5),a0
move.l #$1901,$10(a0)
; image->Type = GL_UNSIGNED_BYTE;
move.l -4(a5),a0
move.l #$1401,$14(a0)
; image->Data = malloc( width * height * sizeof(GLubyte));
move.l d2,d0
muls.l d5,d0
move.l d0,-(a7)
jsr _malloc
addq.w #4,a7
move.l -4(a5),a1
move.l d0,$18(a1)
; image->RefCount = 0;
move.l -4(a5),a0
clr.l $1E(a0)
; if (!image->Data)
move.l -4(a5),a1
tst.l $18(a1)
bne.b L988
L987
move.l -4(a5),d0
movem.l (a7)+,d2-d7/a2-a4
unlk a5
rts
L988
; return
bra.b L990
L989
moveq #0,d0
movem.l (a7)+,d2-d7/a2-a4
unlk a5
rts
L990
; dst = (GLubyte *) image->Data;
move.l -4(a5),a0
move.l $18(a0),a2
; for (i=0;
moveq #0,d4
bra L1033
L991
; GLvoid *src = gl_pixel_addr_in_image( &ctx->Unpack, pixe
clr.l -(a7)
move.l d4,-(a7)
clr.l -(a7)
move.l d7,-(a7)
pea $1901.w
move.l d5,-(a7)
move.l d2,-(a7)
move.l $18(a5),-(a7)
move.l a4,a0
add.l #$E65E,a0
pea (a0)
jsr _gl_pixel_addr_in_image
add.w #$24,a7
move.l d0,a0
; if (!src)
cmp.w #0,a0
bne.b L993
L992
move.l -4(a5),d0
movem.l (a7)+,d2-d7/a2-a4
unlk a5
rts
L993
; switch (type)
move.l d7,d0
sub.l #$1400,d0
cmp.l #6,d0
bhi L1031
move.l L1036(pc,d0.l*4),a1
jmp (a1)
L1036
dc.l L994
dc.l L994
dc.l L995
dc.l L995
dc.l L1004
dc.l L1013
dc.l L1022
;
L994
; MEMCPY(
move.l d2,-(a7)
move.l a0,-(a7)
move.l a2,-(a7)
jsr _q_memcpy
add.w #$C,a7
; dst += width * sizeof(GLubyte);
add.l d2,a2
;
bra L1032
L995
; if (ctx->Unpack.SwapBytes)
move.l a4,a1
add.l #$E65E,a1
tst.b $18(a1)
beq.b L1000
L996
; for (j=0;
moveq #0,d0
bra.b L998
L997
; *dst++ = (((GLushort*)src)[j] &
moveq #0,d1
move.w 0(a0,d0.l*2),d1
and.l #$FF00,d1
moveq #$8,d3
asr.l d3,d1
move.b d1,(a2)+
addq.l #1,d0
L998
cmp.l d2,d0
blt.b L997
L999
bra.b L1003
L1000
; for (j=0;
moveq #0,d0
bra.b L1002
L1001
; *dst++ = (((GLushort*)src)[j]) &
moveq #0,d1
move.w 0(a0,d0.l*2),d1
and.l #$FF,d1
move.b d1,(a2)+
addq.l #1,d0
L1002
cmp.l d2,d0
blt.b L1001
L1003
;
bra L1032
L1004
; if (ctx->Unpack.SwapBytes)
move.l a4,a1
add.l #$E65E,a1
tst.b $18(a1)
beq.b L1009
L1005
; for (j=0;
moveq #0,d0
bra.b L1007
L1006
; *dst++ = (((GLuint*)src)[j] & 0x
move.l 0(a0,d0.l*4),d1
and.l #-$1000000,d1
moveq #$8,d3
lsr.l d3,d1
move.b d1,(a2)+
addq.l #1,d0
L1007
cmp.l d2,d0
blt.b L1006
L1008
bra.b L1012
L1009
; for (j=0;
moveq #0,d0
bra.b L1011
L1010
; *dst++ = (((GLuint*)src)[j]) & 0
move.l 0(a0,d0.l*4),d1
and.l #$FF,d1
move.b d1,(a2)+
addq.l #1,d0
L1011
cmp.l d2,d0
blt.b L1010
L1012
;
bra L1032
L1013
; if (ctx->Unpack.SwapBytes)
move.l a4,a1
add.l #$E65E,a1
tst.b $18(a1)
beq.b L1018
L1014
; for (j=0;
moveq #0,d0
bra.b L1016
L1015
; *dst++ = (((GLuint*)src)[j] & 0x
move.l 0(a0,d0.l*4),d1
and.l #-$1000000,d1
moveq #$8,d3
lsr.l d3,d1
move.b d1,(a2)+
addq.l #1,d0
L1016
cmp.l d2,d0
blt.b L1015
L1017
bra.b L1021
L1018
; for (j=0;
moveq #0,d0
bra.b L1020
L1019
; *dst++ = (((GLuint*)src)[j]) & 0
move.l 0(a0,d0.l*4),d1
and.l #$FF,d1
move.b d1,(a2)+
addq.l #1,d0
L1020
cmp.l d2,d0
blt.b L1019
L1021
;
bra L1032
L1022
; if (ctx->Unpack.SwapBytes)
move.l a4,a1
add.l #$E65E,a1
tst.b $18(a1)
beq.b L1027
L1023
; for (j=0;
moveq #0,d0
bra.b L1025
L1024
; GLint value = ((GLuint*)src)[j];
move.l 0(a0,d0.l*4),-$1C(a5)
; value = ((value & 0xff000000) >>
move.l -$1C(a5),d1
and.l #-$1000000,d1
moveq #$18,d3
lsr.l d3,d1
move.l -$1C(a5),d3
and.l #$FF0000,d3
moveq #$8,d6
asr.l d6,d3
or.l d3,d1
move.l -$1C(a5),d3
and.l #$FF00,d3
moveq #$8,d6
asl.l d6,d3
or.l d3,d1
move.l -$1C(a5),d3
and.l #$FF,d3
moveq #$18,d6
asl.l d6,d3
or.l d3,d1
move.l d1,-$1C(a5)
; fvalue = *((GLfloat*) &value);
; *dst++ = ((GLint) fvalue) & 0xff;
fmove.s -$1C(a5),fp0
fmove.l fp0,d1
and.l #$FF,d1
move.b d1,(a2)+
addq.l #1,d0
L1025
cmp.l d2,d0
blt.b L1024
L1026
bra.b L1030
L1027
; for (j=0;
moveq #0,d0
bra.b L1029
L1028
; GLfloat fvalue = ((GLfloat *)src)
; *dst++ = ((GLint) fvalue) & 0xff;
fmove.s 0(a0,d0.l*4),fp0
fmove.l fp0,d1
and.l #$FF,d1
move.b d1,(a2)+
addq.l #1,d0
L1029
cmp.l d2,d0
blt.b L1028
L1030
;
bra.b L1032
L1031
; gl_problem(ctx, "unpack_stencil_image type" )
move.l #L984,-(a7)
move.l a4,-(a7)
jsr _gl_problem
addq.w #$8,a7
move.l -4(a5),d0
movem.l (a7)+,d2-d7/a2-a4
unlk a5
rts
L1032
addq.l #1,d4
L1033
cmp.l d5,d4
blt L991
L1034
; return
move.l -4(a5),d0
movem.l (a7)+,d2-d7/a2-a4
unlk a5
rts
L984
dc.b 'unpack_stencil_image type',0
SECTION "_unpack_bitmap:0",CODE
;static struct gl_image *unpack_bitmap( GLcontext *ctx, GLenum format
_unpack_bitmap
L1057 EQU -$1C
link a5,#L1057
movem.l d2-d7/a2-a4,-(a7)
move.l $14(a5),d4
move.l $10(a5),d5
move.l $C(a5),d7
move.l $8(a5),a4
L1037
; bytes = ((width+7)/8 * height);
move.l d5,d0
addq.l #7,d0
divsl.l #$8,d0
muls.l d4,d0
move.l d0,d6
; if (bytes>0 && pixels!=NULL)
move.l d6,d0
cmp.l #0,d0
ble L1052
L1038
move.l $18(a5),a0
cmp.w #0,a0
beq L1052
L1039
; buffer = (GLubyte *) malloc( bytes );
move.l d6,-(a7)
jsr _malloc
addq.w #4,a7
move.l d0,a3
; if (!buffer)
cmp.w #0,a3
bne.b L1041
L1040
moveq #0,d0
movem.l (a7)+,d2-d7/a2-a4
unlk a5
rts
L1041
; width_in_bytes = CEILING( width, 8 );
move.l d5,d0
divsl.l #$8,d1:d0
tst.l d1
bne.b L1043
L1042
move.l d5,d3
divsl.l #$8,d3
bra.b L1044
L1043
move.l d5,d3
divsl.l #$8,d3
addq.l #1,d3
L1044
; dst = buffer;
move.l a3,a2
; for (i=0;
moveq #0,d2
bra.b L1048
L1045
; GLvoid *src = gl_pixel_addr_in_image( &ctx->Unpack
clr.l -(a7)
move.l d2,-(a7)
clr.l -(a7)
pea $1A00.w
pea $1900.w
move.l d4,-(a7)
move.l d5,-(a7)
move.l $18(a5),-(a7)
move.l a4,a0
add.l #$E65E,a0
pea (a0)
jsr _gl_pixel_addr_in_image
add.w #$24,a7
move.l d0,a0
; if (!src)
cmp.w #0,a0
bne.b L1047
L1046
; free(buffer);
move.l a3,-(a7)
jsr _free
addq.w #4,a7
moveq #0,d0
movem.l (a7)+,d2-d7/a2-a4
unlk a5
rts
L1047
; MEMCPY( dst, src,
move.l d3,-(a7)
move.l a0,-(a7)
move.l a2,-(a7)
jsr _q_memcpy
add.w #$C,a7
; dst += width_in_bytes;
add.l d3,a2
addq.l #1,d2
L1048
cmp.l d4,d2
blt.b L1045
L1049
; if (ctx->Unpack.LsbFirst)
move.l a4,a0
add.l #$E65E,a0
tst.b $19(a0)
beq.b L1051
L1050
; gl_flip_bytes( buffer, bytes );
move.l d6,-(a7)
move.l a3,-(a7)
jsr _gl_flip_bytes
addq.w #$8,a7
L1051
bra.b L1053
L1052
; buffer = NULL;
sub.l a3,a3
L1053
; image = alloc_image();
jsr _alloc_image
move.l d0,a0
; if (image)
cmp.w #0,a0
beq.b L1055
L1054
; image->Width = width;
move.l d5,(a0)
; image->Height = height;
move.l d4,4(a0)
; image->Depth = 1;
move.l #1,$8(a0)
; image->Components = 0;
clr.l $C(a0)
; image->Format = format;
move.l d7,$10(a0)
; image->Type = GL_BITMAP;
move.l #$1A00,$14(a0)
; image->Data = buffer;
move.l a3,$18(a0)
; image->RefCount = 0;
clr.l $1E(a0)
bra.b L1056
L1055
; free( buffer );
move.l a3,-(a7)
jsr _free
addq.w #4,a7
moveq #0,d0
movem.l (a7)+,d2-d7/a2-a4
unlk a5
rts
L1056
move.l a0,d0
movem.l (a7)+,d2-d7/a2-a4
unlk a5
rts
SECTION "_gl_unpack_polygon_stipple:0",CODE
;void gl_unpack_polygon_stipple( const GLcontext *ctx,
XDEF _gl_unpack_polygon_stipple
_gl_unpack_polygon_stipple
movem.l d2/d3/a2-a4,-(a7)
move.l $20(a7),a2
move.l $18(a7),a3
move.l $1C(a7),a4
L1058
; for (i = 0;
moveq #0,d2
bra.b L1060
L1059
; GLubyte *src = (GLubyte *) gl_pixel_addr_in_image( &ctx-
clr.l -(a7)
move.l d2,-(a7)
clr.l -(a7)
pea $1A00.w
pea $1900.w
pea $20.w
pea $20.w
move.l a4,-(a7)
move.l a3,a0
add.l #$E65E,a0
pea (a0)
jsr _gl_pixel_addr_in_image
add.w #$24,a7
move.l d0,a0
; dest[i] = (src[0] << 24)
moveq #0,d0
move.b (a0),d0
moveq #$18,d1
asl.l d1,d0
moveq #0,d1
move.b 1(a0),d1
moveq #$10,d3
asl.l d3,d1
or.l d1,d0
moveq #0,d1
move.b 2(a0),d1
moveq #$8,d3
asl.l d3,d1
or.l d1,d0
moveq #0,d1
move.b 3(a0),d1
or.l d1,d0
move.l d0,0(a2,d2.l*4)
addq.l #1,d2
L1060
cmp.l #$20,d2
blt.b L1059
L1061
; if (ctx->Unpack.LsbFirst)
move.l a3,a0
add.l #$E65E,a0
tst.b $19(a0)
beq.b L1063
L1062
; gl_flip_bytes( (GLubyte *) dest, 32 * 4 );
pea $80.w
move.l a2,-(a7)
jsr _gl_flip_bytes
addq.w #$8,a7
L1063
movem.l (a7)+,d2/d3/a2-a4
rts
SECTION "_gl_pack_polygon_stipple:0",CODE
;void gl_pack_polygon_stipple( const GLcontext *ctx,
XDEF _gl_pack_polygon_stipple
_gl_pack_polygon_stipple
L1070 EQU -$8
link a5,#L1070
movem.l d2/a2-a4,-(a7)
move.l $C(a5),a2
move.l $8(a5),a4
L1064
; for (i = 0;
moveq #0,d2
bra L1068
L1065
; GLubyte *dst = (GLubyte *) gl_pixel_addr_in_image( &ctx-
clr.l -(a7)
move.l d2,-(a7)
clr.l -(a7)
pea $1A00.w
pea $1900.w
pea $20.w
pea $20.w
move.l $10(a5),-(a7)
move.l a4,a0
add.l #$E644,a0
pea (a0)
jsr _gl_pixel_addr_in_image
add.w #$24,a7
move.l d0,a0
; dst[0] = (pattern[i] >> 24) & 0xff;
move.l 0(a2,d2.l*4),d0
moveq #$18,d1
lsr.l d1,d0
and.l #$FF,d0
move.b d0,(a0)
; dst[1] = (pattern[i] >> 16) & 0xff;
move.l 0(a2,d2.l*4),d0
moveq #$10,d1
lsr.l d1,d0
and.l #$FF,d0
move.b d0,1(a0)
; dst[2] = (pattern[i] >> 8) & 0xff;
move.l 0(a2,d2.l*4),d0
moveq #$8,d1
lsr.l d1,d0
and.l #$FF,d0
move.b d0,2(a0)
; dst[3] = (pattern[i] ) & 0xff;
move.l 0(a2,d2.l*4),d0
and.l #$FF,d0
move.b d0,3(a0)
; if (ctx->Pack.LsbFirst)
move.l a4,a1
add.l #$E644,a1
tst.b $19(a1)
beq.b L1067
L1066
; gl_flip_bytes( (GLubyte *) dst, 4 );
pea 4.w
move.l a0,-(a7)
jsr _gl_flip_bytes
addq.w #$8,a7
L1067
addq.l #1,d2
L1068
cmp.l #$20,d2
blt L1065
L1069
movem.l (a7)+,d2/a2-a4
unlk a5
rts
SECTION "_unpack_ubyte_image:0",CODE
;static struct gl_image *unpack_ubyte_image( GLcontext *ctx,
_unpack_ubyte_image
L1106 EQU -$26
link a5,#L1106
movem.l d2-d7/a2-a4,-(a7)
move.l $10(a5),d3
move.l $C(a5),d5
move.l $18(a5),d7
move.l $8(a5),a4
L1071
; components = gl_components_in_format( format );
move.l d7,-(a7)
jsr _gl_components_in_format
addq.w #4,a7
move.l d0,-$C(a5)
; width_in_bytes = width * components * sizeof(GLubyte);
move.l d5,d4
muls.l -$C(a5),d4
; buffer = (GLubyte *) malloc( height * width_in_bytes * depth );
move.l d3,d0
muls.l d4,d0
muls.l $14(a5),d0
move.l d0,-(a7)
jsr _malloc
addq.w #4,a7
move.l d0,a2
; if (!buffer)
cmp.w #0,a2
bne.b L1073
L1072
moveq #0,d0
movem.l (a7)+,d2-d7/a2-a4
unlk a5
rts
L1073
; dst = buffer;
move.l a2,a3
; for (d=0;
moveq #0,d6
bra.b L1080
L1074
; for (i=0;
moveq #0,d2
bra.b L1078
L1075
; GLubyte *src = (GLubyte *) gl_pixel_addr_in_image(
clr.l -(a7)
move.l d2,-(a7)
move.l d6,-(a7)
pea $1401.w
move.l d7,-(a7)
move.l d3,-(a7)
move.l d5,-(a7)
move.l $1C(a5),-(a7)
move.l a4,a0
add.l #$E65E,a0
pea (a0)
jsr _gl_pixel_addr_in_image
add.w #$24,a7
move.l d0,a0
; if (!src)
cmp.w #0,a0
bne.b L1077
L1076
; free(buffer);
move.l a2,-(a7)
jsr _free
addq.w #4,a7
moveq #0,d0
movem.l (a7)+,d2-d7/a2-a4
unlk a5
rts
L1077
; MEMCPY( dst, src,
move.l d4,-(a7)
move.l a0,-(a7)
move.l a3,-(a7)
jsr _q_memcpy
add.w #$C,a7
; dst += width_in_bytes;
move.l d4,d0
add.l a3,d0
move.l d0,a3
addq.l #1,d2
L1078
cmp.l d3,d2
blt.b L1075
L1079
move.l d6,d0
addq.l #1,d0
move.l d0,d6
L1080
move.l d6,d0
cmp.l $14(a5),d0
blt.b L1074
L1081
; if (format == GL_BGR)
move.l d7,d0
cmp.l #$80E0,d0
bne.b L1086
L1082
; for (i=0;
moveq #0,d2
bra.b L1084
L1083
; GLubyte b = buffer[i*3+0];
move.l d2,d0
muls.l #3,d0
move.b 0(a2,d0.l),d4
; GLubyte r = buffer[i*3+2];
move.l d2,d0
muls.l #3,d0
lea 2(a2),a0
move.b 0(a0,d0.l),d1
; buffer[i*3+0] = r;
move.l d2,d0
muls.l #3,d0
move.b d1,0(a2,d0.l)
; buffer[i*3+2] = b;
move.l d2,d0
muls.l #3,d0
lea 2(a2),a0
move.b d4,0(a0,d0.l)
addq.l #1,d2
L1084
move.l d5,d0
muls.l d3,d0
cmp.l d0,d2
blt.b L1083
L1085
bra L1095
L1086
; else if (format == GL_BGRA)
move.l d7,d0
cmp.l #$80E1,d0
bne.b L1091
L1087
; for (i=0;
moveq #0,d2
bra.b L1089
L1088
; GLubyte b = buffer[i*4+0];
move.l d2,d0
moveq #2,d1
asl.l d1,d0
move.b 0(a2,d0.l),d4
; GLubyte r = buffer[i*4+2];
move.l d2,d0
moveq #2,d1
asl.l d1,d0
lea 2(a2),a0
move.b 0(a0,d0.l),d1
; buffer[i*4+0] = r;
move.l d2,d0
moveq #2,d6
asl.l d6,d0
move.b d1,0(a2,d0.l)
; buffer[i*4+2] = b;
move.l d2,d0
moveq #2,d1
asl.l d1,d0
lea 2(a2),a0
move.b d4,0(a0,d0.l)
addq.l #1,d2
L1089
move.l d5,d0
muls.l d3,d0
cmp.l d0,d2
blt.b L1088
L1090
bra L1095
L1091
; else if (format == GL_ABGR_EXT)
move.l d7,d0
cmp.l #$8000,d0
bne L1095
L1092
; for (i=0;
moveq #0,d2
bra.b L1094
L1093
; GLubyte a = buffer[i*4+0];
move.l d2,d0
moveq #2,d1
asl.l d1,d0
move.b 0(a2,d0.l),-$21(a5)
; GLubyte b = buffer[i*4+1];
move.l d2,d0
moveq #2,d1
asl.l d1,d0
lea 1(a2),a0
move.b 0(a0,d0.l),-$22(a5)
; GLubyte g = buffer[i*4+2];
move.l d2,d0
moveq #2,d1
asl.l d1,d0
lea 2(a2),a0
move.b 0(a0,d0.l),d4
; GLubyte r = buffer[i*4+3];
move.l d2,d0
moveq #2,d1
asl.l d1,d0
lea 3(a2),a0
move.b 0(a0,d0.l),d1
; buffer[i*4+0] = r;
move.l d2,d0
moveq #2,d6
asl.l d6,d0
move.b d1,0(a2,d0.l)
; buffer[i*4+1] = g;
move.l d2,d0
moveq #2,d1
asl.l d1,d0
lea 1(a2),a0
move.b d4,0(a0,d0.l)
; buffer[i*4+2] = b;
move.l d2,d0
moveq #2,d1
asl.l d1,d0
lea 2(a2),a0
move.b -$22(a5),0(a0,d0.l)
; buffer[i*4+3] = a;
move.l d2,d0
moveq #2,d1
asl.l d1,d0
lea 3(a2),a0
move.b -$21(a5),0(a0,d0.l)
addq.l #1,d2
L1094
move.l d5,d0
muls.l d3,d0
cmp.l d0,d2
blt L1093
L1095
; image = alloc_image();
jsr _alloc_image
move.l d0,a3
; if (image)
cmp.w #0,a3
beq L1104
L1096
; image->Width = width;
move.l a3,a0
move.l d5,(a0)
; image->Height = height;
move.l a3,a0
move.l d3,4(a0)
; image->Depth = depth;
move.l a3,a0
move.l $14(a5),$8(a0)
; image->Components = components;
move.l a3,a0
move.l -$C(a5),$C(a0)
; if (format == GL_BGR)
move.l d7,d0
cmp.l #$80E0,d0
bne.b L1098
L1097
; image->Format = GL_RGB;
move.l a3,a0
move.l #$1907,$10(a0)
bra.b L1103
L1098
; else if (format == GL_BGRA)
move.l d7,d0
cmp.l #$80E1,d0
bne.b L1100
L1099
; image->Format = GL_RGBA;
move.l a3,a0
move.l #$1908,$10(a0)
bra.b L1103
L1100
; else if (format == GL_ABGR_EXT)
move.l d7,d0
cmp.l #$8000,d0
bne.b L1102
L1101
; image->Format = GL_RGBA;
move.l a3,a0
move.l #$1908,$10(a0)
bra.b L1103
L1102
; image->Format = format;
move.l a3,a0
move.l d7,$10(a0)
L1103
; image->Type = GL_UNSIGNED_BYTE;
move.l a3,a0
move.l #$1401,$14(a0)
; image->Data = buffer;
move.l a3,a0
move.l a2,$18(a0)
; image->RefCount = 0;
move.l a3,a0
clr.l $1E(a0)
bra.b L1105
L1104
; free( buffer );
move.l a2,-(a7)
jsr _free
addq.w #4,a7
L1105
move.l a3,d0
movem.l (a7)+,d2-d7/a2-a4
unlk a5
rts
SECTION "_unpack_float_image:0",CODE
;static struct gl_image *unpack_float_image( GLcontext *ctx,
_unpack_float_image
L1289 EQU -$8C
link a5,#L1289
movem.l d2-d7/a2-a4,-(a7)
fmovem.x fp2/fp3,-(a7)
move.l $8(a5),a4
L1108
; components = gl_components_in_format( format );
move.l $18(a5),-(a7)
jsr _gl_components_in_format
addq.w #4,a7
move.l d0,d3
; elems_per_row = width * components;
move.l $C(a5),d2
muls.l d3,d2
; image = alloc_image();
jsr _alloc_image
move.l d0,-4(a5)
; if (image)
tst.l -4(a5)
beq L1119
L1109
; image->Width = width;
move.l -4(a5),a0
move.l $C(a5),(a0)
; image->Height = height;
move.l -4(a5),a0
move.l $10(a5),4(a0)
; image->Depth = depth;
move.l -4(a5),a0
move.l $14(a5),$8(a0)
; image->Components = components;
move.l -4(a5),a0
move.l d3,$C(a0)
; if (format == GL_BGR)
move.l $18(a5),d0
cmp.l #$80E0,d0
bne.b L1111
L1110
; image->Format = GL_RGB;
move.l -4(a5),a0
move.l #$1907,$10(a0)
bra.b L1116
L1111
; else if (format == GL_BGRA)
move.l $18(a5),d0
cmp.l #$80E1,d0
bne.b L1113
L1112
; image->Format = GL_RGBA;
move.l -4(a5),a0
move.l #$1908,$10(a0)
bra.b L1116
L1113
; else if (format == GL_ABGR_EXT)
move.l $18(a5),d0
cmp.l #$8000,d0
bne.b L1115
L1114
; image->Format = GL_RGBA;
move.l -4(a5),a0
move.l #$1908,$10(a0)
bra.b L1116
L1115
; image->Format = format;
move.l -4(a5),a0
move.l $18(a5),$10(a0)
L1116
; image->Type = GL_FLOAT;
move.l -4(a5),a0
move.l #$1406,$14(a0)
; image->Data = malloc( elems_per_row * height * depth * s
move.l d2,d0
muls.l $10(a5),d0
muls.l $14(a5),d0
moveq #2,d1
asl.l d1,d0
move.l d0,-(a7)
jsr _malloc
addq.w #4,a7
move.l -4(a5),a1
move.l d0,$18(a1)
; image->RefCount = 0;
move.l -4(a5),a0
clr.l $1E(a0)
; if (!image->Data)
move.l -4(a5),a1
tst.l $18(a1)
bne.b L1118
L1117
move.l -4(a5),d0
fmovem.x (a7)+,fp2/fp3
movem.l (a7)+,d2-d7/a2-a4
unlk a5
rts
L1118
; return
bra.b L1120
L1119
moveq #0,d0
fmovem.x (a7)+,fp2/fp3
movem.l (a7)+,d2-d7/a2-a4
unlk a5
rts
L1120
; normalize = (format != GL_COLOR_INDEX) && (format != GL_STENCI
moveq #0,d0
move.l $18(a5),d1
cmp.l #$1900,d1
beq.b L1123
L1121
move.l $18(a5),d1
cmp.l #$1901,d1
beq.b L1123
L1122
moveq #1,d0
L1123
move.b d0,d4
; dst = (GLfloat *) image->Data;
move.l -4(a5),a0
move.l $18(a0),a2
; for (d=0;
clr.l -$1C(a5)
bra L1273
L1124
; for (i=0;
moveq #0,d7
bra L1271
L1125
; GLvoid *src = gl_pixel_addr_in_image( &ctx->Unpack
clr.l -(a7)
move.l d7,-(a7)
move.l -$1C(a5),-(a7)
move.l $1C(a5),-(a7)
move.l $18(a5),-(a7)
move.l $10(a5),-(a7)
move.l $C(a5),-(a7)
move.l $20(a5),-(a7)
move.l a4,a0
add.l #$E65E,a0
pea (a0)
jsr _gl_pixel_addr_in_image
add.w #$24,a7
move.l d0,a0
; if (!src)
cmp.w #0,a0
bne.b L1127
L1126
move.l -4(a5),d0
fmovem.x (a7)+,fp2/fp3
movem.l (a7)+,d2-d7/a2-a4
unlk a5
rts
L1127
; switch (type)
move.l $1C(a5),d0
cmp.l #$8034,d0
beq L1245
bgt.b L1290
cmp.l #$1404,d0
beq L1197
bgt.b L1291
cmp.l #$1402,d0
beq L1163
bgt.b L1292
cmp.l #$1400,d0
beq L1137
cmp.l #$1401,d0
beq L1128
bra L1269
L1292
bgt L1146
L1291
cmp.l #$8032,d0
beq L1221
bgt.b L1293
cmp.l #$1405,d0
beq L1180
cmp.l #$1406,d0
beq L1214
bra L1269
L1293
bgt L1237
L1290
cmp.l #$8364,d0
beq L1233
bgt.b L1294
cmp.l #$8362,d0
beq L1225
bgt.b L1295
cmp.l #$8035,d0
beq L1253
cmp.l #$8036,d0
beq L1261
bra L1269
L1295
bgt L1229
L1294
cmp.l #$8367,d0
beq L1257
bgt.b L1296
cmp.l #$8365,d0
beq L1241
cmp.l #$8366,d0
beq L1249
bra L1269
L1296
cmp.l #$8368,d0
beq L1265
bra L1269
;
L1128
; GLubyte *ubsrc = (GLubyte *) src;
; if (normalize)
tst.b d4
beq.b L1133
L1129
; for (j=0;
moveq #0,d0
bra.b L1131
L1130
; *dst++ = UBYTE_TO_FL
moveq #0,d1
move.b 0(a0,d0.l),d1
fmove.l d1,fp0
fmul.s #$.3B808080,fp0
fmove.s fp0,(a2)+
addq.l #1,d0
L1131
cmp.l d2,d0
blt.b L1130
L1132
bra.b L1136
L1133
; for (j=0;
moveq #0,d0
bra.b L1135
L1134
; *dst++ = (GLfloat) u
moveq #0,d1
move.b 0(a0,d0.l),d1
fmove.l d1,fp0
fmove.s fp0,(a2)+
addq.l #1,d0
L1135
cmp.l d2,d0
blt.b L1134
L1136
;
bra L1270
L1137
; if (normalize)
tst.b d4
beq.b L1142
L1138
; for (j=0;
moveq #0,d0
bra.b L1140
L1139
; *dst++ = BYTE_TO_FLOAT(((G
move.b 0(a0,d0.l),d1
extb.l d1
fmove.l d1,fp0
fmul.s #$.40000000,fp0
fadd.s #$.3F800000,fp0
fmul.s #$.3B808080,fp0
fmove.s fp0,(a2)+
addq.l #1,d0
L1140
cmp.l d2,d0
blt.b L1139
L1141
bra.b L1145
L1142
; for (j=0;
moveq #0,d0
bra.b L1144
L1143
; *dst++ = (GLfloat) ((GLbyt
move.b 0(a0,d0.l),d1
extb.l d1
fmove.l d1,fp0
fmove.s fp0,(a2)+
addq.l #1,d0
L1144
cmp.l d2,d0
blt.b L1143
L1145
;
bra L1270
L1146
; if (ctx->Unpack.SwapBytes)
move.l a4,a1
add.l #$E65E,a1
tst.b $18(a1)
beq.b L1154
L1147
; for (j=0;
moveq #0,d0
bra.b L1152
L1148
; GLushort value = ((GLushor
move.w 0(a0,d0.l*2),d3
; value = ((value >> 8) & 0x
moveq #0,d1
move.w d3,d1
moveq #$8,d5
asr.l d5,d1
and.l #$FF,d1
and.l #$FFFF,d3
and.l #$FF,d3
moveq #$8,d5
asl.l d5,d3
or.l d3,d1
move.w d1,d3
; if (normalize)
tst.b d4
beq.b L1150
L1149
; *dst++ = USHORT_TO_F
moveq #0,d1
move.w d3,d1
fmove.l d1,fp0
fmul.s #$.37800080,fp0
fmove.s fp0,(a2)+
bra.b L1151
L1150
; *dst++ = (GLfloat) v
moveq #0,d1
move.w d3,d1
fmove.l d1,fp0
fmove.s fp0,(a2)+
L1151
addq.l #1,d0
L1152
cmp.l d2,d0
blt.b L1148
L1153
bra.b L1162
L1154
; if (normalize)
tst.b d4
beq.b L1159
L1155
; for (j=0;
moveq #0,d0
bra.b L1157
L1156
; *dst++ = USHORT_TO_F
moveq #0,d1
move.w 0(a0,d0.l*2),d1
fmove.l d1,fp0
fmul.s #$.37800080,fp0
fmove.s fp0,(a2)+
addq.l #1,d0
L1157
cmp.l d2,d0
blt.b L1156
L1158
bra.b L1162
L1159
; for (j=0;
moveq #0,d0
bra.b L1161
L1160
; *dst++ = (GLfloat) (
moveq #0,d1
move.w 0(a0,d0.l*2),d1
fmove.l d1,fp0
fmove.s fp0,(a2)+
addq.l #1,d0
L1161
cmp.l d2,d0
blt.b L1160
L1162
;
bra L1270
L1163
; if (ctx->Unpack.SwapBytes)
move.l a4,a1
add.l #$E65E,a1
tst.b $18(a1)
beq.b L1171
L1164
; for (j=0;
moveq #0,d0
bra.b L1169
L1165
; GLshort value = ((GLshort*)
move.w 0(a0,d0.l*2),d3
; value = ((value >> 8) & 0x
move.w d3,d1
ext.l d1
moveq #$8,d5
asr.l d5,d1
and.l #$FF,d1
ext.l d3
and.l #$FF,d3
moveq #$8,d5
asl.l d5,d3
or.l d3,d1
move.w d1,d3
; if (normalize)
tst.b d4
beq.b L1167
L1166
; *dst++ = SHORT_TO_FL
move.w d3,d1
ext.l d1
fmove.l d1,fp0
fmul.s #$.40000000,fp0
fadd.s #$.3F800000,fp0
fmul.s #$.37800080,fp0
fmove.s fp0,(a2)+
bra.b L1168
L1167
; *dst++ = (GLfloat) v
move.w d3,d1
ext.l d1
fmove.l d1,fp0
fmove.s fp0,(a2)+
L1168
addq.l #1,d0
L1169
cmp.l d2,d0
blt.b L1165
L1170
bra.b L1179
L1171
; if (normalize)
tst.b d4
beq.b L1176
L1172
; for (j=0;
moveq #0,d0
bra.b L1174
L1173
; *dst++ = SHORT_TO_FL
move.w 0(a0,d0.l*2),d1
ext.l d1
fmove.l d1,fp0
fmul.s #$.40000000,fp0
fadd.s #$.3F800000,fp0
fmul.s #$.37800080,fp0
fmove.s fp0,(a2)+
addq.l #1,d0
L1174
cmp.l d2,d0
blt.b L1173
L1175
bra.b L1179
L1176
; for (j=0;
moveq #0,d0
bra.b L1178
L1177
; *dst++ = (GLfloat) (
move.w 0(a0,d0.l*2),d1
ext.l d1
fmove.l d1,fp0
fmove.s fp0,(a2)+
addq.l #1,d0
L1178
cmp.l d2,d0
blt.b L1177
L1179
;
bra L1270
L1180
; if (ctx->Unpack.SwapBytes)
move.l a4,a1
add.l #$E65E,a1
tst.b $18(a1)
beq.b L1188
L1181
; for (j=0;
moveq #0,d0
bra.b L1186
L1182
; value = ((GLuint*)src)[j];
move.l 0(a0,d0.l*4),d1
; value = ((value & 0xff0000
move.l d1,d3
and.l #-$1000000,d3
moveq #$18,d5
lsr.l d5,d3
move.l d1,d5
and.l #$FF0000,d5
moveq #$8,d6
lsr.l d6,d5
or.l d5,d3
move.l d1,d5
and.l #$FF00,d5
moveq #$8,d6
asl.l d6,d5
or.l d5,d3
and.l #$FF,d1
moveq #$18,d5
asl.l d5,d1
or.l d3,d1
; if (normalize)
tst.b d4
beq.b L1184
L1183
; *dst++ = UINT_TO_FLO
fmove.l d1,fp0
fmul.s #$.2F800000,fp0
fmove.s fp0,(a2)+
bra.b L1185
L1184
; *dst++ = (GLfloat) v
fmove.l d1,fp0
fmove.s fp0,(a2)+
L1185
addq.l #1,d0
L1186
cmp.l d2,d0
blt.b L1182
L1187
bra.b L1196
L1188
; if (normalize)
tst.b d4
beq.b L1193
L1189
; for (j=0;
moveq #0,d0
bra.b L1191
L1190
; *dst++ = UINT_TO_FLO
fmove.l 0(a0,d0.l*4),fp0
fmul.s #$.2F800000,fp0
fmove.s fp0,(a2)+
addq.l #1,d0
L1191
cmp.l d2,d0
blt.b L1190
L1192
bra.b L1196
L1193
; for (j=0;
moveq #0,d0
bra.b L1195
L1194
; *dst++ = (GLfloat) (
fmove.l 0(a0,d0.l*4),fp0
fmove.s fp0,(a2)+
addq.l #1,d0
L1195
cmp.l d2,d0
blt.b L1194
L1196
;
bra L1270
L1197
; if (ctx->Unpack.SwapBytes)
move.l a4,a1
add.l #$E65E,a1
tst.b $18(a1)
beq L1205
L1198
; for (j=0;
moveq #0,d0
bra L1203
L1199
; value = ((GLint*)src)[j];
move.l 0(a0,d0.l*4),d1
; value = ((value & 0xff0000
move.l d1,d3
and.l #-$1000000,d3
moveq #$18,d5
lsr.l d5,d3
move.l d1,d5
and.l #$FF0000,d5
moveq #$8,d6
asr.l d6,d5
or.l d5,d3
move.l d1,d5
and.l #$FF00,d5
moveq #$8,d6
asl.l d6,d5
or.l d5,d3
and.l #$FF,d1
moveq #$18,d5
asl.l d5,d1
or.l d3,d1
; if (normalize)
tst.b d4
beq.b L1201
L1200
; *dst++ = INT_TO_FLOA
fmove.l d1,fp0
fmul.s #$.40000000,fp0
fadd.s #$.3F800000,fp0
fmul.s #$.2F800000,fp0
fmove.s fp0,(a2)+
bra.b L1202
L1201
; *dst++ = (GLfloat) v
fmove.l d1,fp0
fmove.s fp0,(a2)+
L1202
addq.l #1,d0
L1203
cmp.l d2,d0
blt.b L1199
L1204
bra.b L1213
L1205
; if (normalize)
tst.b d4
beq.b L1210
L1206
; for (j=0;
moveq #0,d0
bra.b L1208
L1207
; *dst++ = INT_TO_FLOA
fmove.l 0(a0,d0.l*4),fp0
fmul.s #$.40000000,fp0
fadd.s #$.3F800000,fp0
fmul.s #$.2F800000,fp0
fmove.s fp0,(a2)+
addq.l #1,d0
L1208
cmp.l d2,d0
blt.b L1207
L1209
bra.b L1213
L1210
; for (j=0;
moveq #0,d0
bra.b L1212
L1211
; *dst++ = (GLfloat) (
fmove.l 0(a0,d0.l*4),fp0
fmove.s fp0,(a2)+
addq.l #1,d0
L1212
cmp.l d2,d0
blt.b L1211
L1213
;
bra L1270
L1214
; if (ctx->Unpack.SwapBytes)
move.l a4,a1
add.l #$E65E,a1
tst.b $18(a1)
beq.b L1219
L1215
; for (j=0;
moveq #0,d0
bra.b L1217
L1216
; value = ((GLuint*)src)[j];
move.l 0(a0,d0.l*4),-$36(a5)
; value = ((value & 0xff0000
move.l -$36(a5),d1
and.l #-$1000000,d1
moveq #$18,d3
lsr.l d3,d1
move.l -$36(a5),d3
and.l #$FF0000,d3
moveq #$8,d5
asr.l d5,d3
or.l d3,d1
move.l -$36(a5),d3
and.l #$FF00,d3
moveq #$8,d5
asl.l d5,d3
or.l d3,d1
move.l -$36(a5),d3
and.l #$FF,d3
moveq #$18,d5
asl.l d5,d3
or.l d3,d1
move.l d1,-$36(a5)
; *dst++ = *((GLfloat*) &val
move.l -$36(a5),(a2)+
addq.l #1,d0
L1217
cmp.l d2,d0
blt.b L1216
L1218
bra.b L1220
L1219
; MEMCPY( dst, s
move.l d2,d0
moveq #2,d1
asl.l d1,d0
move.l d0,-(a7)
move.l a0,-(a7)
move.l a2,-(a7)
jsr _q_memcpy
add.w #$C,a7
; dst += elems_per_row;
move.l d2,d0
moveq #2,d1
asl.l d1,d0
add.l d0,a2
L1220
;
bra L1270
L1221
; GLubyte *ubsrc = (GLubyte *) src;
move.l a0,a1
; for (j=0;
moveq #0,d0
bra.b L1223
L1222
; GLubyte p = ubsrc[j];
move.b 0(a1,d0.l),d3
; *dst++ = ((p >> 5) )
moveq #0,d1
move.b d3,d1
moveq #5,d5
asr.l d5,d1
fmove.l d1,fp0
fmul.s #$.3E124924,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p >> 2) & 0x7)
moveq #0,d1
move.b d3,d1
moveq #2,d5
asr.l d5,d1
and.l #7,d1
fmove.l d1,fp0
fmul.s #$.3E124924,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p ) & 0x3)
moveq #0,d1
move.b d3,d1
and.l #3,d1
fmove.l d1,fp0
fmul.s #$.3EAAAAAA,fp0
fmove.s fp0,(a2)+
addq.l #1,d0
L1223
cmp.l d2,d0
blt.b L1222
L1224
;
bra L1270
L1225
; GLubyte *ubsrc = (GLubyte *) src;
move.l a0,a1
; for (j=0;
moveq #0,d0
bra L1227
L1226
; GLubyte p = ubsrc[j];
move.b 0(a1,d0.l),d3
; *dst++ = ((p ) & 0x7)
moveq #0,d1
move.b d3,d1
and.l #7,d1
fmove.l d1,fp0
fmul.s #$.3E124924,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p >> 3) & 0x7)
moveq #0,d1
move.b d3,d1
moveq #3,d5
asr.l d5,d1
and.l #7,d1
fmove.l d1,fp0
fmul.s #$.3E124924,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p >> 6) )
moveq #0,d1
move.b d3,d1
moveq #6,d3
asr.l d3,d1
fmove.l d1,fp0
fmul.s #$.3EAAAAAA,fp0
fmove.s fp0,(a2)+
addq.l #1,d0
L1227
cmp.l d2,d0
blt.b L1226
L1228
;
bra L1270
L1229
; GLushort *ussrc = (GLushort *) s
move.l a0,a1
; for (j=0;
moveq #0,d0
bra L1231
L1230
; GLushort p = ussrc[j];
move.w 0(a1,d0.l*2),d3
; *dst++ = ((p >> 11) )
moveq #0,d1
move.w d3,d1
moveq #$B,d5
asr.l d5,d1
fmove.l d1,fp0
fmul.s #$.3D042108,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p >> 5) & 0x3f)
moveq #0,d1
move.w d3,d1
moveq #5,d5
asr.l d5,d1
and.l #$3F,d1
fmove.l d1,fp0
fmul.s #$.3C820820,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p ) & 0x1f)
moveq #0,d1
move.w d3,d1
and.l #$1F,d1
fmove.l d1,fp0
fmul.s #$.3D042108,fp0
fmove.s fp0,(a2)+
addq.l #1,d0
L1231
cmp.l d2,d0
blt.b L1230
L1232
;
bra L1270
L1233
; GLushort *ussrc = (GLushort *) s
move.l a0,a1
; for (j=0;
moveq #0,d0
bra L1235
L1234
; GLushort p = ussrc[j];
move.w 0(a1,d0.l*2),d3
; *dst++ = ((p ) & 0x1f)
moveq #0,d1
move.w d3,d1
and.l #$1F,d1
fmove.l d1,fp0
fmul.s #$.3D042108,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p >> 5) & 0x3f)
moveq #0,d1
move.w d3,d1
moveq #5,d5
asr.l d5,d1
and.l #$3F,d1
fmove.l d1,fp0
fmul.s #$.3C820820,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p >> 11) )
moveq #0,d1
move.w d3,d1
moveq #$B,d3
asr.l d3,d1
fmove.l d1,fp0
fmul.s #$.3D042108,fp0
fmove.s fp0,(a2)+
addq.l #1,d0
L1235
cmp.l d2,d0
blt.b L1234
L1236
;
bra L1270
L1237
; GLushort *ussrc = (GLushort *) s
move.l a0,a1
; for (j=0;
moveq #0,d0
bra L1239
L1238
; GLushort p = ussrc[j];
move.w 0(a1,d0.l*2),d3
; *dst++ = ((p >> 12) )
moveq #0,d1
move.w d3,d1
moveq #$C,d5
asr.l d5,d1
fmove.l d1,fp0
fmul.s #$.3D888888,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p >> 8) & 0xf)
moveq #0,d1
move.w d3,d1
moveq #$8,d5
asr.l d5,d1
and.l #$F,d1
fmove.l d1,fp0
fmul.s #$.3D888888,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p >> 4) & 0xf)
moveq #0,d1
move.w d3,d1
moveq #4,d5
asr.l d5,d1
and.l #$F,d1
fmove.l d1,fp0
fmul.s #$.3D888888,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p ) & 0xf)
moveq #0,d1
move.w d3,d1
and.l #$F,d1
fmove.l d1,fp0
fmul.s #$.3D888888,fp0
fmove.s fp0,(a2)+
addq.l #1,d0
L1239
cmp.l d2,d0
blt.b L1238
L1240
;
bra L1270
L1241
; GLushort *ussrc = (GLushort *) s
move.l a0,a1
; for (j=0;
moveq #0,d0
bra L1243
L1242
; GLushort p = ussrc[j];
move.w 0(a1,d0.l*2),d3
; *dst++ = ((p ) & 0xf)
moveq #0,d1
move.w d3,d1
and.l #$F,d1
fmove.l d1,fp0
fmul.s #$.3D888888,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p >> 4) & 0xf)
moveq #0,d1
move.w d3,d1
moveq #4,d5
asr.l d5,d1
and.l #$F,d1
fmove.l d1,fp0
fmul.s #$.3D888888,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p >> 8) & 0xf)
moveq #0,d1
move.w d3,d1
moveq #$8,d5
asr.l d5,d1
and.l #$F,d1
fmove.l d1,fp0
fmul.s #$.3D888888,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p >> 12) )
moveq #0,d1
move.w d3,d1
moveq #$C,d3
asr.l d3,d1
fmove.l d1,fp0
fmul.s #$.3D888888,fp0
fmove.s fp0,(a2)+
addq.l #1,d0
L1243
cmp.l d2,d0
blt.b L1242
L1244
;
bra L1270
L1245
; GLushort *ussrc = (GLushort *) s
move.l a0,a1
; for (j=0;
moveq #0,d0
bra L1247
L1246
; GLushort p = ussrc[j];
move.w 0(a1,d0.l*2),d3
; *dst++ = ((p >> 11) )
moveq #0,d1
move.w d3,d1
moveq #$B,d5
asr.l d5,d1
fmove.l d1,fp0
fmul.s #$.3D042108,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p >> 6) & 0x1f)
moveq #0,d1
move.w d3,d1
moveq #6,d5
asr.l d5,d1
and.l #$1F,d1
fmove.l d1,fp0
fmul.s #$.3D042108,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p >> 1) & 0x1f)
moveq #0,d1
move.w d3,d1
moveq #1,d5
asr.l d5,d1
and.l #$1F,d1
fmove.l d1,fp0
fmul.s #$.3D042108,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p ) & 0x1)
moveq #0,d1
move.w d3,d1
and.l #1,d1
fmove.l d1,fp0
fmul.s #$.3F800000,fp0
fmove.s fp0,(a2)+
addq.l #1,d0
L1247
cmp.l d2,d0
blt.b L1246
L1248
;
bra L1270
L1249
; GLushort *ussrc = (GLushort *) s
move.l a0,a1
; for (j=0;
moveq #0,d0
bra L1251
L1250
; GLushort p = ussrc[j];
move.w 0(a1,d0.l*2),d3
; *dst++ = ((p ) & 0x1f)
moveq #0,d1
move.w d3,d1
and.l #$1F,d1
fmove.l d1,fp0
fmul.s #$.3D042108,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p >> 5) & 0x1f)
moveq #0,d1
move.w d3,d1
moveq #5,d5
asr.l d5,d1
and.l #$1F,d1
fmove.l d1,fp0
fmul.s #$.3D042108,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p >> 10) & 0x1f)
moveq #0,d1
move.w d3,d1
moveq #$A,d5
asr.l d5,d1
and.l #$1F,d1
fmove.l d1,fp0
fmul.s #$.3D042108,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p >> 15) )
moveq #0,d1
move.w d3,d1
moveq #$F,d3
asr.l d3,d1
fmove.l d1,fp0
fmul.s #$.3F800000,fp0
fmove.s fp0,(a2)+
addq.l #1,d0
L1251
cmp.l d2,d0
blt.b L1250
L1252
;
bra L1270
L1253
; GLuint *uisrc = (GLuint *) src;
move.l a0,a1
; for (j=0;
moveq #0,d0
bra L1255
L1254
; GLuint p = uisrc[j];
move.l 0(a1,d0.l*4),d1
; *dst++ = ((p >> 24) )
move.l d1,d3
moveq #$18,d5
lsr.l d5,d3
fmove.l d3,fp0
fmul.s #$.3B808080,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p >> 16) & 0xff)
move.l d1,d3
moveq #$10,d5
lsr.l d5,d3
and.l #$FF,d3
fmove.l d3,fp0
fmul.s #$.3B808080,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p >> 8) & 0xff)
move.l d1,d3
moveq #$8,d5
lsr.l d5,d3
and.l #$FF,d3
fmove.l d3,fp0
fmul.s #$.3B808080,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p ) & 0xff)
and.l #$FF,d1
fmove.l d1,fp0
fmul.s #$.3F800000,fp0
fmove.s fp0,(a2)+
addq.l #1,d0
L1255
cmp.l d2,d0
blt.b L1254
L1256
;
bra L1270
L1257
; GLuint *uisrc = (GLuint *) src;
move.l a0,a1
; for (j=0;
moveq #0,d0
bra L1259
L1258
; GLuint p = uisrc[j];
move.l 0(a1,d0.l*4),d1
; *dst++ = ((p ) & 0xff)
move.l d1,d3
and.l #$FF,d3
fmove.l d3,fp0
fmul.s #$.3F800000,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p >> 8) & 0xff)
move.l d1,d3
moveq #$8,d5
lsr.l d5,d3
and.l #$FF,d3
fmove.l d3,fp0
fmul.s #$.3B808080,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p >> 16) & 0xff)
move.l d1,d3
moveq #$10,d5
lsr.l d5,d3
and.l #$FF,d3
fmove.l d3,fp0
fmul.s #$.3B808080,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p >> 24) )
moveq #$18,d3
lsr.l d3,d1
fmove.l d1,fp0
fmul.s #$.3B808080,fp0
fmove.s fp0,(a2)+
addq.l #1,d0
L1259
cmp.l d2,d0
blt.b L1258
L1260
;
bra L1270
L1261
; GLuint *uisrc = (GLuint *) src;
move.l a0,a1
; for (j=0;
moveq #0,d0
bra L1263
L1262
; GLuint p = uisrc[j];
move.l 0(a1,d0.l*4),d1
; *dst++ = ((p >> 22)
move.l d1,d3
moveq #$16,d5
lsr.l d5,d3
fmove.l d3,fp0
fmul.s #$.3A802008,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p >> 12) & 0x3f
move.l d1,d3
moveq #$C,d5
lsr.l d5,d3
and.l #$3FF,d3
fmove.l d3,fp0
fmul.s #$.3A802008,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p >> 2) & 0x3f
move.l d1,d3
moveq #2,d5
lsr.l d5,d3
and.l #$3FF,d3
fmove.l d3,fp0
fmul.s #$.3A802008,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p ) & 0x3
and.l #3,d1
fmove.l d1,fp0
fmul.s #$.3EAAAAAA,fp0
fmove.s fp0,(a2)+
addq.l #1,d0
L1263
cmp.l d2,d0
blt.b L1262
L1264
;
bra L1270
L1265
; GLuint *uisrc = (GLuint *) src;
move.l a0,a1
; for (j=0;
moveq #0,d0
bra L1267
L1266
; GLuint p = uisrc[j];
move.l 0(a1,d0.l*4),d1
; *dst++ = ((p ) & 0x3f
move.l d1,d3
and.l #$3FF,d3
fmove.l d3,fp0
fmul.s #$.3A802008,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p >> 10) & 0x3f
move.l d1,d3
moveq #$A,d5
lsr.l d5,d3
and.l #$3FF,d3
fmove.l d3,fp0
fmul.s #$.3A802008,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p >> 20) & 0x3f
move.l d1,d3
moveq #$14,d5
lsr.l d5,d3
and.l #$3FF,d3
fmove.l d3,fp0
fmul.s #$.3A802008,fp0
fmove.s fp0,(a2)+
; *dst++ = ((p >> 30)
moveq #$1E,d3
lsr.l d3,d1
fmove.l d1,fp0
fmul.s #$.3EAAAAAA,fp0
fmove.s fp0,(a2)+
addq.l #1,d0
L1267
cmp.l d2,d0
blt.b L1266
L1268
;
bra.b L1270
L1269
; gl_problem(ctx, "unpack_float_image ty
move.l #L1107,-(a7)
move.l a4,-(a7)
jsr _gl_problem
addq.w #$8,a7
move.l -4(a5),d0
fmovem.x (a7)+,fp2/fp3
movem.l (a7)+,d2-d7/a2-a4
unlk a5
rts
L1270
move.l d7,d0
addq.l #1,d0
move.l d0,d7
L1271
move.l d7,d0
cmp.l $10(a5),d0
blt L1125
L1272
addq.l #1,-$1C(a5)
L1273
move.l -$1C(a5),d0
cmp.l $14(a5),d0
blt L1124
L1274
; return
; if (format == GL_BGR)
move.l $18(a5),d0
cmp.l #$80E0,d0
bne L1279
L1275
; GLfloat *buffer = (GLfloat *) image->Data;
move.l -4(a5),a1
move.l $18(a1),a0
; for (i=0;
moveq #0,d7
bra.b L1277
L1276
; GLfloat b = buffer[i*3+0];
move.l d7,d0
muls.l #3,d0
fmove.s 0(a0,d0.l*4),fp1
; GLfloat r = buffer[i*3+2];
move.l d7,d0
muls.l #3,d0
lea $8(a0),a1
fmove.s 0(a1,d0.l*4),fp0
; buffer[i*3+0] = r;
move.l d7,d0
muls.l #3,d0
fmove.s fp0,0(a0,d0.l*4)
; buffer[i*3+2] = b;
move.l d7,d0
muls.l #3,d0
lea $8(a0),a1
fmove.s fp1,0(a1,d0.l*4)
move.l d7,d0
addq.l #1,d0
move.l d0,d7
L1277
move.l $C(a5),d0
muls.l $10(a5),d0
muls.l $14(a5),d0
move.l d7,d1
cmp.l d0,d1
blt.b L1276
L1278
bra L1288
L1279
; else if (format == GL_BGRA)
move.l $18(a5),d0
cmp.l #$80E1,d0
bne L1284
L1280
; GLfloat *buffer = (GLfloat *) image->Data;
move.l -4(a5),a1
move.l $18(a1),a0
; for (i=0;
moveq #0,d7
bra.b L1282
L1281
; GLfloat b = buffer[i*4+0];
move.l d7,d0
moveq #2,d1
asl.l d1,d0
fmove.s 0(a0,d0.l*4),fp1
; GLfloat r = buffer[i*4+2];
move.l d7,d0
moveq #2,d1
asl.l d1,d0
lea $8(a0),a1
fmove.s 0(a1,d0.l*4),fp0
; buffer[i*4+0] = r;
move.l d7,d0
moveq #2,d1
asl.l d1,d0
fmove.s fp0,0(a0,d0.l*4)
; buffer[i*4+2] = b;
move.l d7,d0
moveq #2,d1
asl.l d1,d0
lea $8(a0),a1
fmove.s fp1,0(a1,d0.l*4)
move.l d7,d0
addq.l #1,d0
move.l d0,d7
L1282
move.l $C(a5),d0
muls.l $10(a5),d0
muls.l $14(a5),d0
move.l d7,d1
cmp.l d0,d1
blt.b L1281
L1283
bra L1288
L1284
; else if (format == GL_ABGR_EXT)
move.l $18(a5),d0
cmp.l #$8000,d0
bne L1288
L1285
; GLfloat *buffer = (GLfloat *) image->Data;
move.l -4(a5),a1
move.l $18(a1),a0
; for (i=0;
moveq #0,d7
bra L1287
L1286
; GLfloat a = buffer[i*4+0];
move.l d7,d0
moveq #2,d1
asl.l d1,d0
fmove.s 0(a0,d0.l*4),fp3
; GLfloat b = buffer[i*4+1];
move.l d7,d0
moveq #2,d1
asl.l d1,d0
lea 4(a0),a1
fmove.s 0(a1,d0.l*4),fp2
; GLfloat g = buffer[i*4+2];
move.l d7,d0
moveq #2,d1
asl.l d1,d0
lea $8(a0),a1
fmove.s 0(a1,d0.l*4),fp1
; GLfloat r = buffer[i*4+3];
move.l d7,d0
moveq #2,d1
asl.l d1,d0
lea $C(a0),a1
fmove.s 0(a1,d0.l*4),fp0
; buffer[i*4+0] = r;
move.l d7,d0
moveq #2,d1
asl.l d1,d0
fmove.s fp0,0(a0,d0.l*4)
; buffer[i*4+1] = g;
move.l d7,d0
moveq #2,d1
asl.l d1,d0
lea 4(a0),a1
fmove.s fp1,0(a1,d0.l*4)
; buffer[i*4+2] = b;
move.l d7,d0
moveq #2,d1
asl.l d1,d0
lea $8(a0),a1
fmove.s fp2,0(a1,d0.l*4)
; buffer[i*4+3] = a;
move.l d7,d0
moveq #2,d1
asl.l d1,d0
lea $C(a0),a1
fmove.s fp3,0(a1,d0.l*4)
move.l d7,d0
addq.l #1,d0
move.l d0,d7
L1287
move.l $C(a5),d0
muls.l $10(a5),d0
muls.l $14(a5),d0
move.l d7,d1
cmp.l d0,d1
blt L1286
L1288
move.l -4(a5),d0
fmovem.x (a7)+,fp2/fp3
movem.l (a7)+,d2-d7/a2-a4
unlk a5
rts
L1107
dc.b 'unpack_float_image type',0
SECTION "_gl_unpack_bitmap:0",CODE
;struct gl_image *gl_unpack_bitmap( GLcontext *ctx,
XDEF _gl_unpack_bitmap
_gl_unpack_bitmap
movem.l $8(a7),d0/d1/a1
move.l 4(a7),a0
L1297
move.l a1,-(a7)
pea $1A00.w
pea $1900.w
move.l d1,-(a7)
move.l d0,-(a7)
move.l a0,-(a7)
jsr _gl_unpack_image
add.w #$18,a7
rts
SECTION "_gl_unpack_image:0",CODE
;struct gl_image *gl_unpack_image( GLcontext *ctx,
XDEF _gl_unpack_image
_gl_unpack_image
movem.l d2/d3,-(a7)
movem.l $10(a7),d0-d3/a1
move.l $C(a7),a0
L1298
move.l a1,-(a7)
move.l d3,-(a7)
move.l d2,-(a7)
pea 1.w
move.l d1,-(a7)
move.l d0,-(a7)
move.l a0,-(a7)
jsr _gl_unpack_image3D
add.w #$1C,a7
movem.l (a7)+,d2/d3
rts
SECTION "_gl_unpack_image3D:0",CODE
;struct gl_image *gl_unpack_image3D( GLcontext *ctx,
XDEF _gl_unpack_image3D
_gl_unpack_image3D
movem.l d2-d4,-(a7)
movem.l $20(a7),d0/d3/a1
movem.l $18(a7),d1/d4
move.l $14(a7),d2
move.l $10(a7),a0
L1299
; if (width <= 0 || height <= 0 || depth <= 0)
cmp.l #0,d2
ble.b L1302
L1300
cmp.l #0,d1
ble.b L1302
L1301
cmp.l #0,d4
bgt.b L1303
L1302
move.l d3,-(a7)
move.l d0,-(a7)
move.l d4,-(a7)
move.l d1,-(a7)
move.l d2,-(a7)
jsr _alloc_error_image
add.w #$14,a7
movem.l (a7)+,d2-d4
rts
L1303
; if (type==GL_BITMAP)
cmp.l #$1A00,d3
bne.b L1308
L1304
; if (format != GL_COLOR_INDEX && format != GL_STENCIL_IND
cmp.l #$1900,d0
beq.b L1307
L1305
cmp.l #$1901,d0
beq.b L1307
L1306
move.l d3,-(a7)
move.l d0,-(a7)
move.l d4,-(a7)
move.l d1,-(a7)
move.l d2,-(a7)
jsr _alloc_error_image
add.w #$14,a7
movem.l (a7)+,d2-d4
rts
L1307
move.l a1,-(a7)
move.l d1,-(a7)
move.l d2,-(a7)
move.l d0,-(a7)
move.l a0,-(a7)
jsr _unpack_bitmap
add.w #$14,a7
movem.l (a7)+,d2-d4
rts
L1308
; else if (format==GL_DEPTH_COMPONENT)
cmp.l #$1902,d0
bne.b L1310
L1309
move.l a1,-(a7)
move.l d1,-(a7)
move.l d2,-(a7)
move.l d3,-(a7)
move.l a0,-(a7)
jsr _unpack_depth_image
add.w #$14,a7
movem.l (a7)+,d2-d4
rts
L1310
; else if (format==GL_STENCIL_INDEX)
cmp.l #$1901,d0
bne.b L1312
L1311
move.l a1,-(a7)
move.l d1,-(a7)
move.l d2,-(a7)
move.l d3,-(a7)
move.l a0,-(a7)
jsr _unpack_stencil_image
add.w #$14,a7
movem.l (a7)+,d2-d4
rts
L1312
; else if (type==GL_UNSIGNED_BYTE)
cmp.l #$1401,d3
bne.b L1314
L1313
move.l a1,-(a7)
move.l d0,-(a7)
move.l d4,-(a7)
move.l d1,-(a7)
move.l d2,-(a7)
move.l a0,-(a7)
jsr _unpack_ubyte_image
add.w #$18,a7
movem.l (a7)+,d2-d4
rts
L1314
move.l a1,-(a7)
move.l d3,-(a7)
move.l d0,-(a7)
move.l d4,-(a7)
move.l d1,-(a7)
move.l d2,-(a7)
move.l a0,-(a7)
jsr _unpack_float_image
add.w #$1C,a7
movem.l (a7)+,d2-d4
rts
SECTION "_gl_scale_bias_map_image_data:0",CODE
;void gl_scale_bias_map_image_data( const GLcontext *ctx,
XDEF _gl_scale_bias_map_image_data
_gl_scale_bias_map_image_data
movem.l d2-d4/a2-a4,-(a7)
fmovem.x fp2/fp3/fp4,-(a7)
movem.l $48(a7),d1/a2
move.l $44(a7),a0
move.l $40(a7),a4
L1317
; start = row * image->Width * image->Components;
move.l d1,d3
muls.l (a0),d3
muls.l $C(a0),d3
; for (i=0;
moveq #0,d1
bra L1332
L1318
; GLint pos = start+i;
move.l d3,d0
add.l d1,d0
; if (image->Type == GL_UNSIGNED_BYTE)
move.l $14(a0),d2
cmp.l #$1401,d2
bne L1324
L1319
; const GLubyte *data = (GLubyte *) image->Data;
move.l $18(a0),a1
; switch (image->Format)
move.l $10(a0),d2
cmp.l #$1903,d2
beq.b L1320
cmp.l #$1907,d2
beq.b L1321
bra L1322
;
L1320
; red = data[pos] * (1.0F/255.0F);
move.b 0(a1,d0.l),d0
and.l #$FF,d0
fmove.l d0,fp0
fmul.s #$.3B808080,fp0
; green = 0;
fmove.s #$.00000000,fp2
; blue = 0;
fmove.s #$.00000000,fp1
; alpha = 0;
fmove.s #$.00000000,fp3
;
bra L1323
L1321
; red = data[pos*3+0] * (1.0F/255.0F);
move.l d0,d2
muls.l #3,d2
add.l a1,d2
move.l d2,a3
moveq #0,d2
move.b (a3),d2
fmove.l d2,fp0
fmul.s #$.3B808080,fp0
; green = data[pos*3+1] * (1.0F/255.0F);
moveq #1,d2
add.l a1,d2
move.l d2,a3
move.l d0,d2
muls.l #3,d2
add.l a3,d2
move.l d2,a3
moveq #0,d2
move.b (a3),d2
fmove.l d2,fp2
fmul.s #$.3B808080,fp2
; blue = data[pos*3+2] * (1.0F/255.0F);
muls.l #3,d0
lea 2(a1),a1
move.b 0(a1,d0.l),d0
and.l #$FF,d0
fmove.l d0,fp1
fmul.s #$.3B808080,fp1
; alpha = 0;
fmove.s #$.00000000,fp3
;
bra.b L1323
L1322
; gl_problem(ctx, "bad image format in g
move.l #L1315,-(a7)
move.l a4,-(a7)
jsr _gl_problem
addq.w #$8,a7
fmovem.x (a7)+,fp2/fp3/fp4
movem.l (a7)+,d2-d4/a2-a4
rts
L1323
; return;
bra L1331
L1324
; else if (image->Type == GL_FLOAT)
move.l $14(a0),d2
cmp.l #$1406,d2
bne L1330
L1325
; const GLubyte *data = (GLubyte *) image->Data;
move.l $18(a0),a1
; switch (image->Format)
move.l $10(a0),d2
cmp.l #$1903,d2
beq.b L1326
cmp.l #$1907,d2
beq.b L1327
bra L1328
;
L1326
; red = data[pos];
move.b 0(a1,d0.l),d0
and.l #$FF,d0
fmove.l d0,fp0
; green = 0;
fmove.s #$.00000000,fp2
; blue = 0;
fmove.s #$.00000000,fp1
; alpha = 0;
fmove.s #$.00000000,fp3
;
bra.b L1329
L1327
; red = data[pos*3+0];
move.l d0,d2
muls.l #3,d2
add.l a1,d2
move.l d2,a3
moveq #0,d2
move.b (a3),d2
fmove.l d2,fp0
; green = data[pos*3+1];
moveq #1,d2
add.l a1,d2
move.l d2,a3
move.l d0,d2
muls.l #3,d2
add.l a3,d2
move.l d2,a3
moveq #0,d2
move.b (a3),d2
fmove.l d2,fp2
; blue = data[pos*3+2];
muls.l #3,d0
lea 2(a1),a1
move.b 0(a1,d0.l),d0
and.l #$FF,d0
fmove.l d0,fp1
; alpha = 0;
fmove.s #$.00000000,fp3
;
bra.b L1329
L1328
; gl_problem(ctx, "bad image format in g
move.l #L1315,-(a7)
move.l a4,-(a7)
jsr _gl_problem
addq.w #$8,a7
fmovem.x (a7)+,fp2/fp3/fp4
movem.l (a7)+,d2-d4/a2-a4
rts
L1329
; return;
bra.b L1331
L1330
; gl_problem(ctx, "Bad image type in gl_scale_...ima
move.l #L1316,-(a7)
move.l a4,-(a7)
jsr _gl_problem
addq.w #$8,a7
fmovem.x (a7)+,fp2/fp3/fp4
movem.l (a7)+,d2-d4/a2-a4
rts
L1331
; result[i*4+0] = (GLubyte) (red * 255.0);
fmul.d #$.406FE000.00000000,fp0
fmove.l fp0,d0
move.b d0,d2
move.l d1,d0
moveq #2,d4
asl.l d4,d0
move.b d2,0(a2,d0.l)
; result[i*4+1] = (GLubyte) (green * 255.0);
fmove.x fp2,fp0
fmul.d #$.406FE000.00000000,fp0
fmove.l fp0,d0
move.b d0,d2
move.l d1,d0
moveq #2,d4
asl.l d4,d0
lea 1(a2),a1
move.b d2,0(a1,d0.l)
; result[i*4+2] = (GLubyte) (blue * 255.0);
fmove.x fp1,fp0
fmul.d #$.406FE000.00000000,fp0
fmove.l fp0,d0
move.b d0,d2
move.l d1,d0
moveq #2,d4
asl.l d4,d0
lea 2(a2),a1
move.b d2,0(a1,d0.l)
; result[i*4+3] = (GLubyte) (alpha * 255.0);
fmove.x fp3,fp0
fmul.d #$.406FE000.00000000,fp0
fmove.l fp0,d0
move.b d0,d2
move.l d1,d0
moveq #2,d4
asl.l d4,d0
lea 3(a2),a1
move.b d2,0(a1,d0.l)
addq.l #1,d1
L1332
cmp.l (a0),d1
blt L1318
L1333
fmovem.x (a7)+,fp2/fp3/fp4
movem.l (a7)+,d2-d4/a2-a4
rts
L1316
dc.b 'Bad image type in gl_scale_...image_data',0
L1315
dc.b 'bad image format in gl_scale...image_data',0
SECTION "_gl_pack_rgba_span:0",CODE
;void gl_pack_rgba_span( const GLcontext *ctx,
XDEF _gl_pack_rgba_span
_gl_pack_rgba_span
L1771 EQU -$7D4C
link a5,#L1771
movem.l d2-d4/a2-a4,-(a7)
fmovem.x fp2/fp3/fp4/fp5,-(a7)
movem.l $C(a5),d2/a0
movem.l $14(a5),d3/d4/a2
move.l $8(a5),a4
L1336
; if (!ctx->Pixel.ScaleOrBiasRGBA && !ctx->Pixel.MapColorFlag &&
move.l a4,a1
add.l #$B168,a1
tst.b $24(a1)
bne.b L1341
L1337
move.l a4,a1
add.l #$B168,a1
tst.b $36(a1)
bne.b L1341
L1338
cmp.l #$1908,d3
bne.b L1341
L1339
cmp.l #$1401,d4
bne.b L1341
L1340
;MEMCPY( destinati
moveq #2,d0
asl.l d0,d2
move.l d2,-(a7)
move.l a0,-(a7)
move.l a2,-(a7)
jsr _q_memcpy
add.w #$C,a7
bra L1770
L1341
; GLfloat rscale = 1.0F / 255.0F;
fmove.s #$.3B808080,fp4
; GLfloat gscale = 1.0F / 255.0F;
fmove.s #$.3B808080,fp3
; GLfloat bscale = 1.0F / 255.0F;
fmove.s #$.3B808080,fp2
; GLfloat ascale = 1.0F / 255.0F;
fmove.s #$.3B808080,fp1
; for (i=0;
moveq #0,d0
bra.b L1343
L1342
; red[i] = rgba[i][RCOMP] * rscale;
moveq #0,d1
move.b 0(a0,d0.l*4),d1
fmove.l d1,fp0
fmul.x fp4,fp0
lea -$190C(a5),a1
fmove.s fp0,0(a1,d0.l*4)
; green[i] = rgba[i][GCOMP] * gscale;
lea 0(a0,d0.l*4),a1
moveq #0,d1
move.b 1(a1),d1
fmove.l d1,fp0
fmul.x fp3,fp0
lea -$320C(a5),a1
fmove.s fp0,0(a1,d0.l*4)
; blue[i] = rgba[i][BCOMP] * bscale;
lea 0(a0,d0.l*4),a1
moveq #0,d1
move.b 2(a1),d1
fmove.l d1,fp0
fmul.x fp2,fp0
lea -$4B0C(a5),a1
fmove.s fp0,0(a1,d0.l*4)
; alpha[i] = rgba[i][ACOMP] * ascale;
lea 0(a0,d0.l*4),a1
moveq #0,d1
move.b 3(a1),d1
fmove.l d1,fp0
fmul.x fp1,fp0
lea -$640C(a5),a1
fmove.s fp0,0(a1,d0.l*4)
addq.l #1,d0
L1343
cmp.l d2,d0
blo.b L1342
L1344
; if (ctx->Pixel.ScaleOrBiasRGBA)
move.l a4,a0
add.l #$B168,a0
tst.b $24(a0)
beq.b L1346
L1345
; gl_scale_and_bias_color( ctx, n, red, green, blue,
pea -$640C(a5)
pea -$4B0C(a5)
pea -$320C(a5)
pea -$190C(a5)
move.l d2,-(a7)
move.l a4,-(a7)
jsr _gl_scale_and_bias_color
add.w #$18,a7
L1346
; if (ctx->Pixel.MapColorFlag)
move.l a4,a0
add.l #$B168,a0
tst.b $36(a0)
beq.b L1348
L1347
; gl_map_color( ctx, n, red, green, blue, alpha );
pea -$640C(a5)
pea -$4B0C(a5)
pea -$320C(a5)
pea -$190C(a5)
move.l d2,-(a7)
move.l a4,-(a7)
jsr _gl_map_color
add.w #$18,a7
L1348
; if (format==GL_LUMINANCE || format==GL_LUMINANCE_ALPHA)
cmp.l #$1909,d3
beq.b L1350
L1349
cmp.l #$190A,d3
bne.b L1359
L1350
; for (i=0;
moveq #0,d0
bra.b L1358
L1351
; GLfloat sum = red[i] + green[i] + blue[i];
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
lea -$320C(a5),a0
fadd.s 0(a0,d0.l*4),fp0
lea -$4B0C(a5),a0
fadd.s 0(a0,d0.l*4),fp0
; luminance[i] = CLAMP( sum, 0.0F, 1.0F );
fcmp.s #$.00000000,fp0
fboge.b L1353
L1352
fmove.s #$.00000000,fp0
bra.b L1357
L1353
fcmp.s #$.3F800000,fp0
fbole.b L1355
L1354
fmove.s #$.3F800000,fp0
L1355
L1356
L1357
lea -$7D0C(a5),a0
fmove.s fp0,0(a0,d0.l*4)
addq.l #1,d0
L1358
cmp.l d2,d0
blo.b L1351
L1359
; switch (type)
cmp.l #$8034,d4
beq L1699
bgt.b L1772
cmp.l #$1404,d4
beq L1579
bgt.b L1773
cmp.l #$1402,d4
beq L1490
bgt.b L1774
cmp.l #$1400,d4
beq L1403
cmp.l #$1401,d4
beq L1360
bra L1769
L1774
bgt L1445
L1773
cmp.l #$8032,d4
beq L1669
bgt.b L1775
cmp.l #$1405,d4
beq L1534
cmp.l #$1406,d4
beq L1624
bra L1769
L1775
bgt L1689
L1772
cmp.l #$8364,d4
beq L1684
bgt.b L1776
cmp.l #$8362,d4
beq L1674
bgt.b L1777
cmp.l #$8035,d4
beq L1709
cmp.l #$8036,d4
beq L1739
bra L1769
L1777
bgt L1679
L1776
cmp.l #$8367,d4
beq L1724
bgt.b L1778
cmp.l #$8365,d4
beq L1694
cmp.l #$8366,d4
beq L1704
bra L1769
L1778
cmp.l #$8368,d4
beq L1754
bra L1769
;
L1360
; GLubyte *dst = (GLubyte *) destination;
move.l a2,a0
; switch (format)
cmp.l #$1909,d3
beq L1373
bgt.b L1779
cmp.l #$1905,d3
beq L1369
bgt.b L1780
cmp.l #$1903,d3
beq.b L1361
cmp.l #$1904,d3
beq.b L1365
bra L1401
L1780
cmp.l #$1907,d3
beq L1381
cmp.l #$1908,d3
beq L1385
bra L1401
L1779
cmp.l #$80E0,d3
beq L1389
bgt.b L1781
cmp.l #$190A,d3
beq L1377
cmp.l #$8000,d3
beq L1397
bra L1401
L1781
cmp.l #$80E1,d3
beq L1393
bra L1401
;
L1361
; for (i=0;
moveq #0,d0
bra.b L1363
L1362
; dst[i] = FLOAT_TO_UB
lea -$190C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
move.b d1,0(a0,d0.l)
addq.l #1,d0
L1363
cmp.l d2,d0
blo.b L1362
L1364
;
bra L1402
L1365
; for (i=0;
moveq #0,d0
bra.b L1367
L1366
; dst[i] = FLOAT_TO_UB
lea -$320C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
move.b d1,0(a0,d0.l)
addq.l #1,d0
L1367
cmp.l d2,d0
blo.b L1366
L1368
;
bra L1402
L1369
; for (i=0;
moveq #0,d0
bra.b L1371
L1370
; dst[i] = FLOAT_TO_UB
lea -$4B0C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
move.b d1,0(a0,d0.l)
addq.l #1,d0
L1371
cmp.l d2,d0
blo.b L1370
L1372
;
bra L1402
L1373
; for (i=0;
moveq #0,d0
bra.b L1375
L1374
; dst[i] = FLOAT_TO_UB
lea -$7D0C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
move.b d1,0(a0,d0.l)
addq.l #1,d0
L1375
cmp.l d2,d0
blo.b L1374
L1376
;
bra L1402
L1377
; for (i=0;
moveq #0,d0
bra.b L1379
L1378
; dst[i*2+0] = FLOAT_T
lea -$7D0C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
move.b d1,d3
move.l d0,d1
moveq #1,d4
asl.l d4,d1
move.b d3,0(a0,d1.l)
; dst[i*2+1] = FLOAT_T
lea -$640C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
move.b d1,d3
move.l d0,d1
moveq #1,d4
asl.l d4,d1
addq.l #1,d1
move.b d3,0(a0,d1.l)
addq.l #1,d0
L1379
cmp.l d2,d0
blo.b L1378
L1380
;
bra L1402
L1381
; for (i=0;
moveq #0,d0
bra L1383
L1382
; dst[i*3+0] = FLOAT_T
lea -$190C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
move.b d1,d3
move.l d0,d1
mulu.l #3,d1
move.b d3,0(a0,d1.l)
; dst[i*3+1] = FLOAT_T
lea -$320C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
move.b d1,d3
move.l d0,d1
mulu.l #3,d1
addq.l #1,d1
move.b d3,0(a0,d1.l)
; dst[i*3+2] = FLOAT_T
lea -$4B0C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
move.b d1,d3
move.l d0,d1
mulu.l #3,d1
addq.l #2,d1
move.b d3,0(a0,d1.l)
addq.l #1,d0
L1383
cmp.l d2,d0
blo L1382
L1384
;
bra L1402
L1385
; for (i=0;
moveq #0,d0
bra L1387
L1386
; dst[i*4+0] = FLOAT_T
lea -$190C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
move.b d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
move.b d3,0(a0,d1.l)
; dst[i*4+1] = FLOAT_T
lea -$320C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
move.b d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #1,d1
move.b d3,0(a0,d1.l)
; dst[i*4+2] = FLOAT_T
lea -$4B0C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
move.b d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #2,d1
move.b d3,0(a0,d1.l)
; dst[i*4+3] = FLOAT_T
lea -$640C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
move.b d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #3,d1
move.b d3,0(a0,d1.l)
addq.l #1,d0
L1387
cmp.l d2,d0
blo L1386
L1388
;
bra L1402
L1389
; for (i=0;
moveq #0,d0
bra L1391
L1390
; dst[i*3+0] = FLOAT_T
lea -$4B0C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
move.b d1,d3
move.l d0,d1
mulu.l #3,d1
move.b d3,0(a0,d1.l)
; dst[i*3+1] = FLOAT_T
lea -$320C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
move.b d1,d3
move.l d0,d1
mulu.l #3,d1
addq.l #1,d1
move.b d3,0(a0,d1.l)
; dst[i*3+2] = FLOAT_T
lea -$190C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
move.b d1,d3
move.l d0,d1
mulu.l #3,d1
addq.l #2,d1
move.b d3,0(a0,d1.l)
addq.l #1,d0
L1391
cmp.l d2,d0
blo L1390
L1392
;
bra L1402
L1393
; for (i=0;
moveq #0,d0
bra L1395
L1394
; dst[i*4+0] = FLOAT_T
lea -$4B0C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
move.b d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
move.b d3,0(a0,d1.l)
; dst[i*4+1] = FLOAT_T
lea -$320C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
move.b d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #1,d1
move.b d3,0(a0,d1.l)
; dst[i*4+2] = FLOAT_T
lea -$190C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
move.b d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #2,d1
move.b d3,0(a0,d1.l)
; dst[i*4+3] = FLOAT_T
lea -$640C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
move.b d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #3,d1
move.b d3,0(a0,d1.l)
addq.l #1,d0
L1395
cmp.l d2,d0
blo L1394
L1396
;
bra L1402
L1397
; for (i=0;
moveq #0,d0
bra L1399
L1398
; dst[i*4+0] = FLOAT_T
lea -$640C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
move.b d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
move.b d3,0(a0,d1.l)
; dst[i*4+1] = FLOAT_T
lea -$4B0C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
move.b d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #1,d1
move.b d3,0(a0,d1.l)
; dst[i*4+2] = FLOAT_T
lea -$320C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
move.b d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #2,d1
move.b d3,0(a0,d1.l)
; dst[i*4+3] = FLOAT_T
lea -$190C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
move.b d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #3,d1
move.b d3,0(a0,d1.l)
addq.l #1,d0
L1399
cmp.l d2,d0
blo L1398
L1400
;
bra.b L1402
L1401
; gl_problem(ctx, "bad forma
move.l #L1334,-(a7)
move.l a4,-(a7)
jsr _gl_problem
addq.w #$8,a7
L1402
;
bra L1770
L1403
; GLbyte *dst = (GLbyte *) destination;
move.l a2,a0
; switch (format)
cmp.l #$1909,d3
beq L1416
bgt.b L1782
cmp.l #$1905,d3
beq L1412
bgt.b L1783
cmp.l #$1903,d3
beq.b L1404
cmp.l #$1904,d3
beq L1408
bra L1443
L1783
cmp.l #$1907,d3
beq L1424
cmp.l #$1908,d3
beq L1428
bra L1443
L1782
cmp.l #$80E0,d3
beq L1432
bgt.b L1784
cmp.l #$190A,d3
beq L1420
cmp.l #$8000,d3
beq L1439
bra L1443
L1784
cmp.l #$80E1,d3
beq L1436
bra L1443
;
L1404
; for (i=0;
moveq #0,d0
bra.b L1406
L1405
; dst[i] = FLOAT_TO_BY
lea -$190C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.b d1,0(a0,d0.l)
addq.l #1,d0
L1406
cmp.l d2,d0
blo.b L1405
L1407
;
bra L1444
L1408
; for (i=0;
moveq #0,d0
bra.b L1410
L1409
; dst[i] = FLOAT_TO_BY
lea -$320C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.b d1,0(a0,d0.l)
addq.l #1,d0
L1410
cmp.l d2,d0
blo.b L1409
L1411
;
bra L1444
L1412
; for (i=0;
moveq #0,d0
bra.b L1414
L1413
; dst[i] = FLOAT_TO_BY
lea -$4B0C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.b d1,0(a0,d0.l)
addq.l #1,d0
L1414
cmp.l d2,d0
blo.b L1413
L1415
;
bra L1444
L1416
; for (i=0;
moveq #0,d0
bra.b L1418
L1417
; dst[i] = FLOAT_TO_BY
lea -$7D0C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.b d1,0(a0,d0.l)
addq.l #1,d0
L1418
cmp.l d2,d0
blo.b L1417
L1419
;
bra L1444
L1420
; for (i=0;
moveq #0,d0
bra.b L1422
L1421
; dst[i*2+0] = FLOAT_T
lea -$7D0C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.b d1,d3
move.l d0,d1
moveq #1,d4
asl.l d4,d1
move.b d3,0(a0,d1.l)
; dst[i*2+1] = FLOAT_T
lea -$640C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.b d1,d3
move.l d0,d1
moveq #1,d4
asl.l d4,d1
addq.l #1,d1
move.b d3,0(a0,d1.l)
addq.l #1,d0
L1422
cmp.l d2,d0
blo.b L1421
L1423
;
bra L1444
L1424
; for (i=0;
moveq #0,d0
bra L1426
L1425
; dst[i*3+0] = FLOAT_T
lea -$190C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.b d1,d3
move.l d0,d1
mulu.l #3,d1
move.b d3,0(a0,d1.l)
; dst[i*3+1] = FLOAT_T
lea -$320C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.b d1,d3
move.l d0,d1
mulu.l #3,d1
addq.l #1,d1
move.b d3,0(a0,d1.l)
; dst[i*3+2] = FLOAT_T
lea -$4B0C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.b d1,d3
move.l d0,d1
mulu.l #3,d1
addq.l #2,d1
move.b d3,0(a0,d1.l)
addq.l #1,d0
L1426
cmp.l d2,d0
blo L1425
L1427
;
bra L1444
L1428
; for (i=0;
moveq #0,d0
bra L1430
L1429
; dst[i*4+0] = FLOAT_T
lea -$190C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.b d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
move.b d3,0(a0,d1.l)
; dst[i*4+1] = FLOAT_T
lea -$320C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.b d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #1,d1
move.b d3,0(a0,d1.l)
; dst[i*4+2] = FLOAT_T
lea -$4B0C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.b d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #2,d1
move.b d3,0(a0,d1.l)
; dst[i*4+3] = FLOAT_T
lea -$640C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.b d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #3,d1
move.b d3,0(a0,d1.l)
addq.l #1,d0
L1430
cmp.l d2,d0
blo L1429
L1431
;
bra L1444
L1432
; for (i=0;
moveq #0,d0
bra L1434
L1433
; dst[i*3+0] = FLOAT_T
lea -$4B0C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.b d1,d3
move.l d0,d1
mulu.l #3,d1
move.b d3,0(a0,d1.l)
; dst[i*3+1] = FLOAT_T
lea -$320C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.b d1,d3
move.l d0,d1
mulu.l #3,d1
addq.l #1,d1
move.b d3,0(a0,d1.l)
; dst[i*3+2] = FLOAT_T
lea -$190C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.b d1,d3
move.l d0,d1
mulu.l #3,d1
addq.l #2,d1
move.b d3,0(a0,d1.l)
addq.l #1,d0
L1434
cmp.l d2,d0
blo L1433
L1435
;
bra L1444
L1436
; for (i=0;
moveq #0,d0
bra L1438
L1437
; dst[i*4+0] = FLOAT_T
lea -$4B0C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.b d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
move.b d3,0(a0,d1.l)
; dst[i*4+1] = FLOAT_T
lea -$320C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.b d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #1,d1
move.b d3,0(a0,d1.l)
; dst[i*4+2] = FLOAT_T
lea -$190C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.b d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #2,d1
move.b d3,0(a0,d1.l)
; dst[i*4+3] = FLOAT_T
lea -$640C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.b d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #3,d1
move.b d3,0(a0,d1.l)
addq.l #1,d0
L1438
cmp.l d2,d0
blo L1437
L1439
; for (i=0;
moveq #0,d0
bra L1441
L1440
; dst[i*4+0] = FLOAT_T
lea -$640C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.b d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
move.b d3,0(a0,d1.l)
; dst[i*4+1] = FLOAT_T
lea -$4B0C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.b d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #1,d1
move.b d3,0(a0,d1.l)
; dst[i*4+2] = FLOAT_T
lea -$320C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.b d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #2,d1
move.b d3,0(a0,d1.l)
; dst[i*4+3] = FLOAT_T
lea -$190C(a5),a1
fmove.s 0(a1,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.b d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #3,d1
move.b d3,0(a0,d1.l)
addq.l #1,d0
L1441
cmp.l d2,d0
blo L1440
L1442
;
bra.b L1444
L1443
; gl_problem(ctx, "bad forma
move.l #L1334,-(a7)
move.l a4,-(a7)
jsr _gl_problem
addq.w #$8,a7
L1444
;
bra L1770
L1445
; GLushort *dst = (GLushort *) destinati
; switch (format)
cmp.l #$1909,d3
beq L1458
bgt.b L1785
cmp.l #$1905,d3
beq L1454
bgt.b L1786
cmp.l #$1903,d3
beq.b L1446
cmp.l #$1904,d3
beq L1450
bra L1486
L1786
cmp.l #$1907,d3
beq L1466
cmp.l #$1908,d3
beq L1470
bra L1486
L1785
cmp.l #$80E0,d3
beq L1474
bgt.b L1787
cmp.l #$190A,d3
beq L1462
cmp.l #$8000,d3
beq L1482
bra L1486
L1787
cmp.l #$80E1,d3
beq L1478
bra L1486
;
L1446
; for (i=0;
moveq #0,d0
bra.b L1448
L1447
; dst[i] = FLOAT_TO_US
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
move.w d1,0(a2,d0.l*2)
addq.l #1,d0
L1448
cmp.l d2,d0
blo.b L1447
L1449
;
bra L1487
L1450
; for (i=0;
moveq #0,d0
bra.b L1452
L1451
; dst[i] = FLOAT_TO_US
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
move.w d1,0(a2,d0.l*2)
addq.l #1,d0
L1452
cmp.l d2,d0
blo.b L1451
L1453
;
bra L1487
L1454
; for (i=0;
moveq #0,d0
bra.b L1456
L1455
; dst[i] = FLOAT_TO_US
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
move.w d1,0(a2,d0.l*2)
addq.l #1,d0
L1456
cmp.l d2,d0
blo.b L1455
L1457
;
bra L1487
L1458
; for (i=0;
moveq #0,d0
bra.b L1460
L1459
; dst[i] = FLOAT_TO_US
lea -$7D0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
move.w d1,0(a2,d0.l*2)
addq.l #1,d0
L1460
cmp.l d2,d0
blo.b L1459
L1461
;
bra L1487
L1462
; for (i=0;
moveq #0,d0
bra.b L1464
L1463
; dst[i*2+0] = FLOAT_T
lea -$7D0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
move.w d1,d3
move.l d0,d1
moveq #1,d4
asl.l d4,d1
move.w d3,0(a2,d1.l*2)
; dst[i*2+1] = FLOAT_T
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
move.w d1,d3
move.l d0,d1
moveq #1,d4
asl.l d4,d1
addq.l #1,d1
move.w d3,0(a2,d1.l*2)
addq.l #1,d0
L1464
cmp.l d2,d0
blo.b L1463
L1465
;
bra L1487
L1466
; for (i=0;
moveq #0,d0
bra L1468
L1467
; dst[i*3+0] = FLOAT_T
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
move.w d1,d3
move.l d0,d1
mulu.l #3,d1
move.w d3,0(a2,d1.l*2)
; dst[i*3+1] = FLOAT_T
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
move.w d1,d3
move.l d0,d1
mulu.l #3,d1
addq.l #1,d1
move.w d3,0(a2,d1.l*2)
; dst[i*3+2] = FLOAT_T
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
move.w d1,d3
move.l d0,d1
mulu.l #3,d1
addq.l #2,d1
move.w d3,0(a2,d1.l*2)
addq.l #1,d0
L1468
cmp.l d2,d0
blo L1467
L1469
;
bra L1487
L1470
; for (i=0;
moveq #0,d0
bra L1472
L1471
; dst[i*4+0] = FLOAT_T
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
move.w d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
move.w d3,0(a2,d1.l*2)
; dst[i*4+1] = FLOAT_T
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
move.w d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #1,d1
move.w d3,0(a2,d1.l*2)
; dst[i*4+2] = FLOAT_T
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
move.w d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #2,d1
move.w d3,0(a2,d1.l*2)
; dst[i*4+3] = FLOAT_T
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
move.w d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #3,d1
move.w d3,0(a2,d1.l*2)
addq.l #1,d0
L1472
cmp.l d2,d0
blo L1471
L1473
;
bra L1487
L1474
; for (i=0;
moveq #0,d0
bra L1476
L1475
; dst[i*3+0] = FLOAT_T
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
move.w d1,d3
move.l d0,d1
mulu.l #3,d1
move.w d3,0(a2,d1.l*2)
; dst[i*3+1] = FLOAT_T
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
move.w d1,d3
move.l d0,d1
mulu.l #3,d1
addq.l #1,d1
move.w d3,0(a2,d1.l*2)
; dst[i*3+2] = FLOAT_T
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
move.w d1,d3
move.l d0,d1
mulu.l #3,d1
addq.l #2,d1
move.w d3,0(a2,d1.l*2)
addq.l #1,d0
L1476
cmp.l d2,d0
blo L1475
L1477
;
bra L1487
L1478
; for (i=0;
moveq #0,d0
bra L1480
L1479
; dst[i*4+0] = FLOAT_T
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
move.w d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
move.w d3,0(a2,d1.l*2)
; dst[i*4+1] = FLOAT_T
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
move.w d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #1,d1
move.w d3,0(a2,d1.l*2)
; dst[i*4+2] = FLOAT_T
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
move.w d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #2,d1
move.w d3,0(a2,d1.l*2)
; dst[i*4+3] = FLOAT_T
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
move.w d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #3,d1
move.w d3,0(a2,d1.l*2)
addq.l #1,d0
L1480
cmp.l d2,d0
blo L1479
L1481
;
bra L1487
L1482
; for (i=0;
moveq #0,d0
bra L1484
L1483
; dst[i*4+0] = FLOAT_T
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
move.w d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
move.w d3,0(a2,d1.l*2)
; dst[i*4+1] = FLOAT_T
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
move.w d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #1,d1
move.w d3,0(a2,d1.l*2)
; dst[i*4+2] = FLOAT_T
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
move.w d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #2,d1
move.w d3,0(a2,d1.l*2)
; dst[i*4+3] = FLOAT_T
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
move.w d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #3,d1
move.w d3,0(a2,d1.l*2)
addq.l #1,d0
L1484
cmp.l d2,d0
blo L1483
L1485
;
bra.b L1487
L1486
; gl_problem(ctx, "bad forma
move.l #L1334,-(a7)
move.l a4,-(a7)
jsr _gl_problem
addq.w #$8,a7
L1487
; if (ctx->Pack.SwapBytes)
move.l a4,a0
add.l #$E644,a0
tst.b $18(a0)
beq.b L1489
L1488
; gl_swap2( (GLushort *) dst, n*n )
move.l d2,d0
mulu.l d2,d0
move.l d0,-(a7)
move.l a2,-(a7)
jsr _gl_swap2
addq.w #$8,a7
L1489
;
bra L1770
L1490
; GLshort *dst = (GLshort *) destination;
; switch (format)
cmp.l #$1909,d3
beq L1503
bgt.b L1788
cmp.l #$1905,d3
beq L1499
bgt.b L1789
cmp.l #$1903,d3
beq.b L1491
cmp.l #$1904,d3
beq L1495
bra L1530
L1789
cmp.l #$1907,d3
beq L1511
cmp.l #$1908,d3
beq L1515
bra L1530
L1788
cmp.l #$80E0,d3
beq L1519
bgt.b L1790
cmp.l #$190A,d3
beq L1507
cmp.l #$8000,d3
beq L1526
bra L1530
L1790
cmp.l #$80E1,d3
beq L1523
bra L1530
;
L1491
; for (i=0;
moveq #0,d0
bra.b L1493
L1492
; dst[i] = FLOAT_TO_SH
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.w d1,0(a2,d0.l*2)
addq.l #1,d0
L1493
cmp.l d2,d0
blo.b L1492
L1494
;
bra L1531
L1495
; for (i=0;
moveq #0,d0
bra.b L1497
L1496
; dst[i] = FLOAT_TO_SH
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.w d1,0(a2,d0.l*2)
addq.l #1,d0
L1497
cmp.l d2,d0
blo.b L1496
L1498
;
bra L1531
L1499
; for (i=0;
moveq #0,d0
bra.b L1501
L1500
; dst[i] = FLOAT_TO_SH
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.w d1,0(a2,d0.l*2)
addq.l #1,d0
L1501
cmp.l d2,d0
blo.b L1500
L1502
;
bra L1531
L1503
; for (i=0;
moveq #0,d0
bra.b L1505
L1504
; dst[i] = FLOAT_TO_SH
lea -$7D0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.w d1,0(a2,d0.l*2)
addq.l #1,d0
L1505
cmp.l d2,d0
blo.b L1504
L1506
;
bra L1531
L1507
; for (i=0;
moveq #0,d0
bra.b L1509
L1508
; dst[i*2+0] = FLOAT_T
lea -$7D0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.w d1,d3
move.l d0,d1
moveq #1,d4
asl.l d4,d1
move.w d3,0(a2,d1.l*2)
; dst[i*2+1] = FLOAT_T
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.w d1,d3
move.l d0,d1
moveq #1,d4
asl.l d4,d1
addq.l #1,d1
move.w d3,0(a2,d1.l*2)
addq.l #1,d0
L1509
cmp.l d2,d0
blo.b L1508
L1510
;
bra L1531
L1511
; for (i=0;
moveq #0,d0
bra L1513
L1512
; dst[i*3+0] = FLOAT_T
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.w d1,d3
move.l d0,d1
mulu.l #3,d1
move.w d3,0(a2,d1.l*2)
; dst[i*3+1] = FLOAT_T
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.w d1,d3
move.l d0,d1
mulu.l #3,d1
addq.l #1,d1
move.w d3,0(a2,d1.l*2)
; dst[i*3+2] = FLOAT_T
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.w d1,d3
move.l d0,d1
mulu.l #3,d1
addq.l #2,d1
move.w d3,0(a2,d1.l*2)
addq.l #1,d0
L1513
cmp.l d2,d0
blo L1512
L1514
;
bra L1531
L1515
; for (i=0;
moveq #0,d0
bra L1517
L1516
; dst[i*4+0] = FLOAT_T
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.w d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
move.w d3,0(a2,d1.l*2)
; dst[i*4+1] = FLOAT_T
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.w d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #1,d1
move.w d3,0(a2,d1.l*2)
; dst[i*4+2] = FLOAT_T
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.w d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #2,d1
move.w d3,0(a2,d1.l*2)
; dst[i*4+3] = FLOAT_T
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.w d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #3,d1
move.w d3,0(a2,d1.l*2)
addq.l #1,d0
L1517
cmp.l d2,d0
blo L1516
L1518
;
bra L1531
L1519
; for (i=0;
moveq #0,d0
bra L1521
L1520
; dst[i*3+0] = FLOAT_T
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.w d1,d3
move.l d0,d1
mulu.l #3,d1
move.w d3,0(a2,d1.l*2)
; dst[i*3+1] = FLOAT_T
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.w d1,d3
move.l d0,d1
mulu.l #3,d1
addq.l #1,d1
move.w d3,0(a2,d1.l*2)
; dst[i*3+2] = FLOAT_T
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.w d1,d3
move.l d0,d1
mulu.l #3,d1
addq.l #2,d1
move.w d3,0(a2,d1.l*2)
addq.l #1,d0
L1521
cmp.l d2,d0
blo L1520
L1522
;
bra L1531
L1523
; for (i=0;
moveq #0,d0
bra L1525
L1524
; dst[i*4+0] = FLOAT_T
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.w d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
move.w d3,0(a2,d1.l*2)
; dst[i*4+1] = FLOAT_T
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.w d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #1,d1
move.w d3,0(a2,d1.l*2)
; dst[i*4+2] = FLOAT_T
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.w d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #2,d1
move.w d3,0(a2,d1.l*2)
; dst[i*4+3] = FLOAT_T
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.w d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #3,d1
move.w d3,0(a2,d1.l*2)
addq.l #1,d0
L1525
cmp.l d2,d0
blo L1524
L1526
; for (i=0;
moveq #0,d0
bra L1528
L1527
; dst[i*4+0] = FLOAT_T
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.w d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
move.w d3,0(a2,d1.l*2)
; dst[i*4+1] = FLOAT_T
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.w d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #1,d1
move.w d3,0(a2,d1.l*2)
; dst[i*4+2] = FLOAT_T
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.w d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #2,d1
move.w d3,0(a2,d1.l*2)
; dst[i*4+3] = FLOAT_T
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.477FFF00,fp0
fmove.l fp0,d1
subq.l #1,d1
divsl.l #2,d1
move.w d1,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #3,d1
move.w d3,0(a2,d1.l*2)
addq.l #1,d0
L1528
cmp.l d2,d0
blo L1527
L1529
;
bra.b L1531
L1530
; gl_problem(ctx, "bad forma
move.l #L1334,-(a7)
move.l a4,-(a7)
jsr _gl_problem
addq.w #$8,a7
L1531
; if (ctx->Pack.SwapBytes)
move.l a4,a0
add.l #$E644,a0
tst.b $18(a0)
beq.b L1533
L1532
; gl_swap2( (GLushort *) dst, n*n )
move.l d2,d0
mulu.l d2,d0
move.l d0,-(a7)
move.l a2,-(a7)
jsr _gl_swap2
addq.w #$8,a7
L1533
;
bra L1770
L1534
; GLuint *dst = (GLuint *) destination;
; switch (format)
cmp.l #$1909,d3
beq L1547
bgt.b L1791
cmp.l #$1905,d3
beq L1543
bgt.b L1792
cmp.l #$1903,d3
beq.b L1535
cmp.l #$1904,d3
beq L1539
bra L1575
L1792
cmp.l #$1907,d3
beq L1555
cmp.l #$1908,d3
beq L1559
bra L1575
L1791
cmp.l #$80E0,d3
beq L1563
bgt.b L1793
cmp.l #$190A,d3
beq L1551
cmp.l #$8000,d3
beq L1571
bra L1575
L1793
cmp.l #$80E1,d3
beq L1567
bra L1575
;
L1535
; for (i=0;
moveq #0,d0
bra.b L1537
L1536
; dst[i] = FLOAT_TO_UI
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41EFFFFF.FFE00000,fp0
fmove.l fp0,d1
move.l d1,0(a2,d0.l*4)
addq.l #1,d0
L1537
cmp.l d2,d0
blo.b L1536
L1538
;
bra L1576
L1539
; for (i=0;
moveq #0,d0
bra.b L1541
L1540
; dst[i] = FLOAT_TO_UI
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41EFFFFF.FFE00000,fp0
fmove.l fp0,d1
move.l d1,0(a2,d0.l*4)
addq.l #1,d0
L1541
cmp.l d2,d0
blo.b L1540
L1542
;
bra L1576
L1543
; for (i=0;
moveq #0,d0
bra.b L1545
L1544
; dst[i] = FLOAT_TO_UI
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41EFFFFF.FFE00000,fp0
fmove.l fp0,d1
move.l d1,0(a2,d0.l*4)
addq.l #1,d0
L1545
cmp.l d2,d0
blo.b L1544
L1546
;
bra L1576
L1547
; for (i=0;
moveq #0,d0
bra.b L1549
L1548
; dst[i] = FLOAT_TO_UI
lea -$7D0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41EFFFFF.FFE00000,fp0
fmove.l fp0,d1
move.l d1,0(a2,d0.l*4)
addq.l #1,d0
L1549
cmp.l d2,d0
blo.b L1548
L1550
;
bra L1576
L1551
; for (i=0;
moveq #0,d0
bra.b L1553
L1552
; dst[i*2+0] = FLOAT_T
lea -$7D0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41EFFFFF.FFE00000,fp0
fmove.l fp0,d3
move.l d0,d1
moveq #1,d4
asl.l d4,d1
move.l d3,0(a2,d1.l*4)
; dst[i*2+1] = FLOAT_T
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41EFFFFF.FFE00000,fp0
fmove.l fp0,d3
move.l d0,d1
moveq #1,d4
asl.l d4,d1
addq.l #1,d1
move.l d3,0(a2,d1.l*4)
addq.l #1,d0
L1553
cmp.l d2,d0
blo.b L1552
L1554
;
bra L1576
L1555
; for (i=0;
moveq #0,d0
bra L1557
L1556
; dst[i*3+0] = FLOAT_T
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41EFFFFF.FFE00000,fp0
fmove.l fp0,d3
move.l d0,d1
mulu.l #3,d1
move.l d3,0(a2,d1.l*4)
; dst[i*3+1] = FLOAT_T
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41EFFFFF.FFE00000,fp0
fmove.l fp0,d3
move.l d0,d1
mulu.l #3,d1
addq.l #1,d1
move.l d3,0(a2,d1.l*4)
; dst[i*3+2] = FLOAT_T
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41EFFFFF.FFE00000,fp0
fmove.l fp0,d3
move.l d0,d1
mulu.l #3,d1
addq.l #2,d1
move.l d3,0(a2,d1.l*4)
addq.l #1,d0
L1557
cmp.l d2,d0
blo L1556
L1558
;
bra L1576
L1559
; for (i=0;
moveq #0,d0
bra L1561
L1560
; dst[i*4+0] = FLOAT_T
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41EFFFFF.FFE00000,fp0
fmove.l fp0,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
move.l d3,0(a2,d1.l*4)
; dst[i*4+1] = FLOAT_T
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41EFFFFF.FFE00000,fp0
fmove.l fp0,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #1,d1
move.l d3,0(a2,d1.l*4)
; dst[i*4+2] = FLOAT_T
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41EFFFFF.FFE00000,fp0
fmove.l fp0,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #2,d1
move.l d3,0(a2,d1.l*4)
; dst[i*4+3] = FLOAT_T
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41EFFFFF.FFE00000,fp0
fmove.l fp0,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #3,d1
move.l d3,0(a2,d1.l*4)
addq.l #1,d0
L1561
cmp.l d2,d0
blo L1560
L1562
;
bra L1576
L1563
; for (i=0;
moveq #0,d0
bra L1565
L1564
; dst[i*3+0] = FLOAT_T
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41EFFFFF.FFE00000,fp0
fmove.l fp0,d3
move.l d0,d1
mulu.l #3,d1
move.l d3,0(a2,d1.l*4)
; dst[i*3+1] = FLOAT_T
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41EFFFFF.FFE00000,fp0
fmove.l fp0,d3
move.l d0,d1
mulu.l #3,d1
addq.l #1,d1
move.l d3,0(a2,d1.l*4)
; dst[i*3+2] = FLOAT_T
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41EFFFFF.FFE00000,fp0
fmove.l fp0,d3
move.l d0,d1
mulu.l #3,d1
addq.l #2,d1
move.l d3,0(a2,d1.l*4)
addq.l #1,d0
L1565
cmp.l d2,d0
blo L1564
L1566
;
bra L1576
L1567
; for (i=0;
moveq #0,d0
bra L1569
L1568
; dst[i*4+0] = FLOAT_T
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41EFFFFF.FFE00000,fp0
fmove.l fp0,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
move.l d3,0(a2,d1.l*4)
; dst[i*4+1] = FLOAT_T
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41EFFFFF.FFE00000,fp0
fmove.l fp0,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #1,d1
move.l d3,0(a2,d1.l*4)
; dst[i*4+2] = FLOAT_T
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41EFFFFF.FFE00000,fp0
fmove.l fp0,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #2,d1
move.l d3,0(a2,d1.l*4)
; dst[i*4+3] = FLOAT_T
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41EFFFFF.FFE00000,fp0
fmove.l fp0,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #3,d1
move.l d3,0(a2,d1.l*4)
addq.l #1,d0
L1569
cmp.l d2,d0
blo L1568
L1570
;
bra L1576
L1571
; for (i=0;
moveq #0,d0
bra L1573
L1572
; dst[i*4+0] = FLOAT_T
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41EFFFFF.FFE00000,fp0
fmove.l fp0,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
move.l d3,0(a2,d1.l*4)
; dst[i*4+1] = FLOAT_T
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41EFFFFF.FFE00000,fp0
fmove.l fp0,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #1,d1
move.l d3,0(a2,d1.l*4)
; dst[i*4+2] = FLOAT_T
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41EFFFFF.FFE00000,fp0
fmove.l fp0,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #2,d1
move.l d3,0(a2,d1.l*4)
; dst[i*4+3] = FLOAT_T
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41EFFFFF.FFE00000,fp0
fmove.l fp0,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #3,d1
move.l d3,0(a2,d1.l*4)
addq.l #1,d0
L1573
cmp.l d2,d0
blo L1572
L1574
;
bra.b L1576
L1575
; gl_problem(ctx, "bad forma
move.l #L1334,-(a7)
move.l a4,-(a7)
jsr _gl_problem
addq.w #$8,a7
L1576
; if (ctx->Pack.SwapBytes)
move.l a4,a0
add.l #$E644,a0
tst.b $18(a0)
beq.b L1578
L1577
; gl_swap4( (GLuint *) dst, n*n );
move.l d2,d0
mulu.l d2,d0
move.l d0,-(a7)
move.l a2,-(a7)
jsr _gl_swap4
addq.w #$8,a7
L1578
;
bra L1770
L1579
; GLint *dst = (GLint *) destination;
; switch (format)
cmp.l #$1909,d3
beq L1592
bgt.b L1794
cmp.l #$1905,d3
beq L1588
bgt.b L1795
cmp.l #$1903,d3
beq L1580
cmp.l #$1904,d3
beq L1584
bra L1620
L1795
cmp.l #$1907,d3
beq L1600
cmp.l #$1908,d3
beq L1604
bra L1620
L1794
cmp.l #$80E0,d3
beq L1608
bgt.b L1796
cmp.l #$190A,d3
beq L1596
cmp.l #$8000,d3
beq L1616
bra L1620
L1796
cmp.l #$80E1,d3
beq L1612
bra L1620
;
L1580
; for (i=0;
moveq #0,d0
bra.b L1582
L1581
; dst[i] = FLOAT_TO_IN
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41DFFFFF.FFC00000,fp0
fmove.l fp0,d1
move.l d1,0(a2,d0.l*4)
addq.l #1,d0
L1582
cmp.l d2,d0
blo.b L1581
L1583
;
bra L1621
L1584
; for (i=0;
moveq #0,d0
bra.b L1586
L1585
; dst[i] = FLOAT_TO_IN
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41DFFFFF.FFC00000,fp0
fmove.l fp0,d1
move.l d1,0(a2,d0.l*4)
addq.l #1,d0
L1586
cmp.l d2,d0
blo.b L1585
L1587
;
bra L1621
L1588
; for (i=0;
moveq #0,d0
bra.b L1590
L1589
; dst[i] = FLOAT_TO_IN
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41DFFFFF.FFC00000,fp0
fmove.l fp0,d1
move.l d1,0(a2,d0.l*4)
addq.l #1,d0
L1590
cmp.l d2,d0
blo.b L1589
L1591
;
bra L1621
L1592
; for (i=0;
moveq #0,d0
bra.b L1594
L1593
; dst[i] = FLOAT_TO_IN
lea -$7D0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41DFFFFF.FFC00000,fp0
fmove.l fp0,d1
move.l d1,0(a2,d0.l*4)
addq.l #1,d0
L1594
cmp.l d2,d0
blo.b L1593
L1595
;
bra L1621
L1596
; for (i=0;
moveq #0,d0
bra L1598
L1597
; dst[i*2+0] = FLOAT_T
lea -$7D0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41DFFFFF.FFC00000,fp0
fmove.l fp0,d3
move.l d0,d1
moveq #1,d4
asl.l d4,d1
move.l d3,0(a2,d1.l*4)
; dst[i*2+1] = FLOAT_T
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41DFFFFF.FFC00000,fp0
fmove.l fp0,d3
move.l d0,d1
moveq #1,d4
asl.l d4,d1
addq.l #1,d1
move.l d3,0(a2,d1.l*4)
addq.l #1,d0
L1598
cmp.l d2,d0
blo.b L1597
L1599
;
bra L1621
L1600
; for (i=0;
moveq #0,d0
bra L1602
L1601
; dst[i*3+0] = FLOAT_T
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41DFFFFF.FFC00000,fp0
fmove.l fp0,d3
move.l d0,d1
mulu.l #3,d1
move.l d3,0(a2,d1.l*4)
; dst[i*3+1] = FLOAT_T
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41DFFFFF.FFC00000,fp0
fmove.l fp0,d3
move.l d0,d1
mulu.l #3,d1
addq.l #1,d1
move.l d3,0(a2,d1.l*4)
; dst[i*3+2] = FLOAT_T
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41DFFFFF.FFC00000,fp0
fmove.l fp0,d3
move.l d0,d1
mulu.l #3,d1
addq.l #2,d1
move.l d3,0(a2,d1.l*4)
addq.l #1,d0
L1602
cmp.l d2,d0
blo L1601
L1603
;
bra L1621
L1604
; for (i=0;
moveq #0,d0
bra L1606
L1605
; dst[i*4+0] = FLOAT_T
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41DFFFFF.FFC00000,fp0
fmove.l fp0,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
move.l d3,0(a2,d1.l*4)
; dst[i*4+1] = FLOAT_T
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41DFFFFF.FFC00000,fp0
fmove.l fp0,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #1,d1
move.l d3,0(a2,d1.l*4)
; dst[i*4+2] = FLOAT_T
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41DFFFFF.FFC00000,fp0
fmove.l fp0,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #2,d1
move.l d3,0(a2,d1.l*4)
; dst[i*4+3] = FLOAT_T
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41DFFFFF.FFC00000,fp0
fmove.l fp0,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #3,d1
move.l d3,0(a2,d1.l*4)
addq.l #1,d0
L1606
cmp.l d2,d0
blo L1605
L1607
;
bra L1621
L1608
; for (i=0;
moveq #0,d0
bra L1610
L1609
; dst[i*3+0] = FLOAT_T
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41DFFFFF.FFC00000,fp0
fmove.l fp0,d3
move.l d0,d1
mulu.l #3,d1
move.l d3,0(a2,d1.l*4)
; dst[i*3+1] = FLOAT_T
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41DFFFFF.FFC00000,fp0
fmove.l fp0,d3
move.l d0,d1
mulu.l #3,d1
addq.l #1,d1
move.l d3,0(a2,d1.l*4)
; dst[i*3+2] = FLOAT_T
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41DFFFFF.FFC00000,fp0
fmove.l fp0,d3
move.l d0,d1
mulu.l #3,d1
addq.l #2,d1
move.l d3,0(a2,d1.l*4)
addq.l #1,d0
L1610
cmp.l d2,d0
blo L1609
L1611
;
bra L1621
L1612
; for (i=0;
moveq #0,d0
bra L1614
L1613
; dst[i*4+0] = FLOAT_T
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41DFFFFF.FFC00000,fp0
fmove.l fp0,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
move.l d3,0(a2,d1.l*4)
; dst[i*4+1] = FLOAT_T
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41DFFFFF.FFC00000,fp0
fmove.l fp0,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #1,d1
move.l d3,0(a2,d1.l*4)
; dst[i*4+2] = FLOAT_T
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41DFFFFF.FFC00000,fp0
fmove.l fp0,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #2,d1
move.l d3,0(a2,d1.l*4)
; dst[i*4+3] = FLOAT_T
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41DFFFFF.FFC00000,fp0
fmove.l fp0,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #3,d1
move.l d3,0(a2,d1.l*4)
addq.l #1,d0
L1614
cmp.l d2,d0
blo L1613
L1615
;
bra L1621
L1616
; for (i=0;
moveq #0,d0
bra L1618
L1617
; dst[i*4+0] = FLOAT_T
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41DFFFFF.FFC00000,fp0
fmove.l fp0,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
move.l d3,0(a2,d1.l*4)
; dst[i*4+1] = FLOAT_T
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41DFFFFF.FFC00000,fp0
fmove.l fp0,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #1,d1
move.l d3,0(a2,d1.l*4)
; dst[i*4+2] = FLOAT_T
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41DFFFFF.FFC00000,fp0
fmove.l fp0,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #2,d1
move.l d3,0(a2,d1.l*4)
; dst[i*4+3] = FLOAT_T
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.d #$.41DFFFFF.FFC00000,fp0
fmove.l fp0,d3
move.l d0,d1
moveq #2,d4
asl.l d4,d1
addq.l #3,d1
move.l d3,0(a2,d1.l*4)
addq.l #1,d0
L1618
cmp.l d2,d0
blo L1617
L1619
;
bra.b L1621
L1620
; gl_problem(ctx, "bad forma
move.l #L1334,-(a7)
move.l a4,-(a7)
jsr _gl_problem
addq.w #$8,a7
L1621
; if (ctx->Pack.SwapBytes)
move.l a4,a0
add.l #$E644,a0
tst.b $18(a0)
beq.b L1623
L1622
; gl_swap4( (GLuint *) dst, n*n );
move.l d2,d0
mulu.l d2,d0
move.l d0,-(a7)
move.l a2,-(a7)
jsr _gl_swap4
addq.w #$8,a7
L1623
;
bra L1770
L1624
; GLfloat *dst = (GLfloat *) destination;
; switch (format)
cmp.l #$1909,d3
beq L1637
bgt.b L1797
cmp.l #$1905,d3
beq L1633
bgt.b L1798
cmp.l #$1903,d3
beq L1625
cmp.l #$1904,d3
beq L1629
bra L1665
L1798
cmp.l #$1907,d3
beq L1645
cmp.l #$1908,d3
beq L1649
bra L1665
L1797
cmp.l #$80E0,d3
beq L1653
bgt.b L1799
cmp.l #$190A,d3
beq L1641
cmp.l #$8000,d3
beq L1661
bra L1665
L1799
cmp.l #$80E1,d3
beq L1657
bra L1665
;
L1625
; for (i=0;
moveq #0,d0
bra.b L1627
L1626
; dst[i] = red[i];
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmove.s fp0,0(a2,d0.l*4)
addq.l #1,d0
L1627
cmp.l d2,d0
blo.b L1626
L1628
;
bra L1666
L1629
; for (i=0;
moveq #0,d0
bra.b L1631
L1630
; dst[i] = green[i];
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmove.s fp0,0(a2,d0.l*4)
addq.l #1,d0
L1631
cmp.l d2,d0
blo.b L1630
L1632
;
bra L1666
L1633
; for (i=0;
moveq #0,d0
bra.b L1635
L1634
; dst[i] = blue[i];
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmove.s fp0,0(a2,d0.l*4)
addq.l #1,d0
L1635
cmp.l d2,d0
blo.b L1634
L1636
;
bra L1666
L1637
; for (i=0;
moveq #0,d0
bra.b L1639
L1638
; dst[i] = luminance[i
lea -$7D0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmove.s fp0,0(a2,d0.l*4)
addq.l #1,d0
L1639
cmp.l d2,d0
blo.b L1638
L1640
;
bra L1666
L1641
; for (i=0;
moveq #0,d0
bra.b L1643
L1642
; dst[i*2+0] = luminan
lea -$7D0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
move.l d0,d1
moveq #1,d3
asl.l d3,d1
fmove.s fp0,0(a2,d1.l*4)
; dst[i*2+1] = alpha[i
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
move.l d0,d1
moveq #1,d3
asl.l d3,d1
addq.l #1,d1
fmove.s fp0,0(a2,d1.l*4)
addq.l #1,d0
L1643
cmp.l d2,d0
blo.b L1642
L1644
;
bra L1666
L1645
; for (i=0;
moveq #0,d0
bra L1647
L1646
; dst[i*3+0] = red[i];
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
move.l d0,d1
mulu.l #3,d1
fmove.s fp0,0(a2,d1.l*4)
; dst[i*3+1] = green[i
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
move.l d0,d1
mulu.l #3,d1
addq.l #1,d1
fmove.s fp0,0(a2,d1.l*4)
; dst[i*3+2] = blue[i];
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
move.l d0,d1
mulu.l #3,d1
addq.l #2,d1
fmove.s fp0,0(a2,d1.l*4)
addq.l #1,d0
L1647
cmp.l d2,d0
blo.b L1646
L1648
;
bra L1666
L1649
; for (i=0;
moveq #0,d0
bra L1651
L1650
; dst[i*4+0] = red[i];
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
move.l d0,d1
moveq #2,d3
asl.l d3,d1
fmove.s fp0,0(a2,d1.l*4)
; dst[i*4+1] = green[i
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
move.l d0,d1
moveq #2,d3
asl.l d3,d1
addq.l #1,d1
fmove.s fp0,0(a2,d1.l*4)
; dst[i*4+2] = blue[i];
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
move.l d0,d1
moveq #2,d3
asl.l d3,d1
addq.l #2,d1
fmove.s fp0,0(a2,d1.l*4)
; dst[i*4+3] = alpha[i
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
move.l d0,d1
moveq #2,d3
asl.l d3,d1
addq.l #3,d1
fmove.s fp0,0(a2,d1.l*4)
addq.l #1,d0
L1651
cmp.l d2,d0
blo.b L1650
L1652
;
bra L1666
L1653
; for (i=0;
moveq #0,d0
bra L1655
L1654
; dst[i*3+0] = blue[i];
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
move.l d0,d1
mulu.l #3,d1
fmove.s fp0,0(a2,d1.l*4)
; dst[i*3+1] = green[i
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
move.l d0,d1
mulu.l #3,d1
addq.l #1,d1
fmove.s fp0,0(a2,d1.l*4)
; dst[i*3+2] = red[i];
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
move.l d0,d1
mulu.l #3,d1
addq.l #2,d1
fmove.s fp0,0(a2,d1.l*4)
addq.l #1,d0
L1655
cmp.l d2,d0
blo.b L1654
L1656
;
bra L1666
L1657
; for (i=0;
moveq #0,d0
bra L1659
L1658
; dst[i*4+0] = blue[i];
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
move.l d0,d1
moveq #2,d3
asl.l d3,d1
fmove.s fp0,0(a2,d1.l*4)
; dst[i*4+1] = green[i
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
move.l d0,d1
moveq #2,d3
asl.l d3,d1
addq.l #1,d1
fmove.s fp0,0(a2,d1.l*4)
; dst[i*4+2] = red[i];
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
move.l d0,d1
moveq #2,d3
asl.l d3,d1
addq.l #2,d1
fmove.s fp0,0(a2,d1.l*4)
; dst[i*4+3] = alpha[i
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
move.l d0,d1
moveq #2,d3
asl.l d3,d1
addq.l #3,d1
fmove.s fp0,0(a2,d1.l*4)
addq.l #1,d0
L1659
cmp.l d2,d0
blo.b L1658
L1660
;
bra L1666
L1661
; for (i=0;
moveq #0,d0
bra L1663
L1662
; dst[i*4+0] = alpha[i
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
move.l d0,d1
moveq #2,d3
asl.l d3,d1
fmove.s fp0,0(a2,d1.l*4)
; dst[i*4+1] = blue[i];
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
move.l d0,d1
moveq #2,d3
asl.l d3,d1
addq.l #1,d1
fmove.s fp0,0(a2,d1.l*4)
; dst[i*4+2] = green[i
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
move.l d0,d1
moveq #2,d3
asl.l d3,d1
addq.l #2,d1
fmove.s fp0,0(a2,d1.l*4)
; dst[i*4+3] = red[i];
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
move.l d0,d1
moveq #2,d3
asl.l d3,d1
addq.l #3,d1
fmove.s fp0,0(a2,d1.l*4)
addq.l #1,d0
L1663
cmp.l d2,d0
blo.b L1662
L1664
;
bra.b L1666
L1665
; gl_problem(ctx, "bad forma
move.l #L1334,-(a7)
move.l a4,-(a7)
jsr _gl_problem
addq.w #$8,a7
L1666
; if (ctx->Pack.SwapBytes)
move.l a4,a0
add.l #$E644,a0
tst.b $18(a0)
beq.b L1668
L1667
; gl_swap4( (GLuint *) dst, n*n );
move.l d2,d0
mulu.l d2,d0
move.l d0,-(a7)
move.l a2,-(a7)
jsr _gl_swap4
addq.w #$8,a7
L1668
;
bra L1770
L1669
; if (format == GL_RGB)
cmp.l #$1907,d3
bne L1673
L1670
; GLubyte *dst = (GLubyte *) destination;
move.l a2,a1
; for (i=0;
moveq #0,d0
bra L1672
L1671
; dst[i] = (((GLint) (red[i] * 7
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.40E00000,fp0
fmove.l fp0,d1
moveq #5,d3
asl.l d3,d1
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.40E00000,fp0
fmove.l fp0,d3
moveq #2,d4
asl.l d4,d3
or.l d3,d1
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.40400000,fp0
fmove.l fp0,d3
or.l d3,d1
move.b d1,0(a1,d0.l)
addq.l #1,d0
L1672
cmp.l d2,d0
blo.b L1671
L1673
;
bra L1770
L1674
; if (format == GL_RGB)
cmp.l #$1907,d3
bne L1678
L1675
; GLubyte *dst = (GLubyte *) destination;
move.l a2,a1
; for (i=0;
moveq #0,d0
bra L1677
L1676
; dst[i] = (((GLint) (red[i] * 7
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.40E00000,fp0
fmove.l fp0,d1
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.40E00000,fp0
fmove.l fp0,d3
moveq #3,d4
asl.l d4,d3
or.l d3,d1
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.40400000,fp0
fmove.l fp0,d3
moveq #5,d4
asl.l d4,d3
or.l d3,d1
move.b d1,0(a1,d0.l)
addq.l #1,d0
L1677
cmp.l d2,d0
blo.b L1676
L1678
;
bra L1770
L1679
; if (format == GL_RGB)
cmp.l #$1907,d3
bne L1683
L1680
; GLushort *dst = (GLushort *) destinati
move.l a2,a1
; for (i=0;
moveq #0,d0
bra L1682
L1681
; dst[i] = (((GLint) (red[i] * 3
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.41F80000,fp0
fmove.l fp0,d1
moveq #$B,d3
asl.l d3,d1
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.427C0000,fp0
fmove.l fp0,d3
moveq #5,d4
asl.l d4,d3
or.l d3,d1
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.41F80000,fp0
fmove.l fp0,d3
or.l d3,d1
move.w d1,0(a1,d0.l*2)
addq.l #1,d0
L1682
cmp.l d2,d0
blo.b L1681
L1683
;
bra L1770
L1684
; if (format == GL_RGB)
cmp.l #$1907,d3
bne L1688
L1685
; GLushort *dst = (GLushort *) destinati
move.l a2,a1
; for (i=0;
moveq #0,d0
bra L1687
L1686
; dst[i] = (((GLint) (red[i] * 3
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.41F80000,fp0
fmove.l fp0,d1
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.427C0000,fp0
fmove.l fp0,d3
moveq #5,d4
asl.l d4,d3
or.l d3,d1
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.41F80000,fp0
fmove.l fp0,d3
moveq #$B,d4
asl.l d4,d3
or.l d3,d1
move.w d1,0(a1,d0.l*2)
addq.l #1,d0
L1687
cmp.l d2,d0
blo.b L1686
L1688
;
bra L1770
L1689
; if (format == GL_RGB)
cmp.l #$1907,d3
bne L1693
L1690
; GLushort *dst = (GLushort *) destinati
move.l a2,a1
; for (i=0;
moveq #0,d0
bra L1692
L1691
; dst[i] = (((GLint) (red[i] * 1
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.41700000,fp0
fmove.l fp0,d1
moveq #$C,d3
asl.l d3,d1
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.41700000,fp0
fmove.l fp0,d3
moveq #$8,d4
asl.l d4,d3
or.l d3,d1
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.41700000,fp0
fmove.l fp0,d3
moveq #4,d4
asl.l d4,d3
or.l d3,d1
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.41700000,fp0
fmove.l fp0,d3
or.l d3,d1
move.w d1,0(a1,d0.l*2)
addq.l #1,d0
L1692
cmp.l d2,d0
blo.b L1691
L1693
;
bra L1770
L1694
; if (format == GL_RGB)
cmp.l #$1907,d3
bne L1698
L1695
; GLushort *dst = (GLushort *) destinati
move.l a2,a1
; for (i=0;
moveq #0,d0
bra L1697
L1696
; dst[i] = (((GLint) (red[i] * 1
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.41700000,fp0
fmove.l fp0,d1
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.41700000,fp0
fmove.l fp0,d3
moveq #4,d4
asl.l d4,d3
or.l d3,d1
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.41700000,fp0
fmove.l fp0,d3
moveq #$8,d4
asl.l d4,d3
or.l d3,d1
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.41700000,fp0
fmove.l fp0,d3
moveq #$C,d4
asl.l d4,d3
or.l d3,d1
move.w d1,0(a1,d0.l*2)
addq.l #1,d0
L1697
cmp.l d2,d0
blo.b L1696
L1698
;
bra L1770
L1699
; if (format == GL_RGB)
cmp.l #$1907,d3
bne L1703
L1700
; GLushort *dst = (GLushort *) destinati
move.l a2,a1
; for (i=0;
moveq #0,d0
bra L1702
L1701
; dst[i] = (((GLint) (red[i] * 3
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.41F80000,fp0
fmove.l fp0,d1
moveq #$B,d3
asl.l d3,d1
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.41F80000,fp0
fmove.l fp0,d3
moveq #6,d4
asl.l d4,d3
or.l d3,d1
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.41F80000,fp0
fmove.l fp0,d3
moveq #1,d4
asl.l d4,d3
or.l d3,d1
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.3F800000,fp0
fmove.l fp0,d3
or.l d3,d1
move.w d1,0(a1,d0.l*2)
addq.l #1,d0
L1702
cmp.l d2,d0
blo.b L1701
L1703
;
bra L1770
L1704
; if (format == GL_RGB)
cmp.l #$1907,d3
bne L1708
L1705
; GLushort *dst = (GLushort *) destinati
move.l a2,a1
; for (i=0;
moveq #0,d0
bra L1707
L1706
; }
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.41F80000,fp0
fmove.l fp0,d1
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.41F80000,fp0
fmove.l fp0,d3
moveq #5,d4
asl.l d4,d3
or.l d3,d1
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.41F80000,fp0
fmove.l fp0,d3
moveq #$A,d4
asl.l d4,d3
or.l d3,d1
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.3F800000,fp0
fmove.l fp0,d3
moveq #$F,d4
asl.l d4,d3
or.l d3,d1
move.w d1,0(a1,d0.l*2)
addq.l #1,d0
L1707
cmp.l d2,d0
blo.b L1706
L1708
;
bra L1770
L1709
; if (format == GL_RGBA)
cmp.l #$1908,d3
bne L1714
L1710
; GLuint *dst = (GLuint *) destination;
move.l a2,a1
; for (i=0;
moveq #0,d0
bra L1712
L1711
; dst[i] = (((GLint) (red[i] * 2
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
moveq #$18,d3
asl.l d3,d1
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d3
moveq #$10,d4
asl.l d4,d3
or.l d3,d1
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d3
moveq #$8,d4
asl.l d4,d3
or.l d3,d1
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d3
or.l d3,d1
move.l d1,0(a1,d0.l*4)
addq.l #1,d0
L1712
cmp.l d2,d0
blo.b L1711
L1713
bra L1723
L1714
; else if (format == GL_BGRA)
cmp.l #$80E1,d3
bne L1719
L1715
; GLushort *dst = (GLushort *) destinati
move.l a2,a1
; for (i=0;
moveq #0,d0
bra L1717
L1716
; dst[i] = (((GLint) (blue[i] * 2
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
moveq #$18,d3
asl.l d3,d1
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d3
moveq #$10,d4
asl.l d4,d3
or.l d3,d1
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d3
moveq #$8,d4
asl.l d4,d3
or.l d3,d1
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d3
or.l d3,d1
move.w d1,0(a1,d0.l*2)
addq.l #1,d0
L1717
cmp.l d2,d0
blo.b L1716
L1718
bra L1723
L1719
; else if (format == GL_ABGR_EXT)
cmp.l #$8000,d3
bne L1723
L1720
; GLushort *dst = (GLushort *) destinati
move.l a2,a1
; for (i=0;
moveq #0,d0
bra L1722
L1721
; dst[i] = (((GLint) (alpha[i] * 2
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
moveq #$18,d3
asl.l d3,d1
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d3
moveq #$10,d4
asl.l d4,d3
or.l d3,d1
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d3
moveq #$8,d4
asl.l d4,d3
or.l d3,d1
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d3
or.l d3,d1
move.w d1,0(a1,d0.l*2)
addq.l #1,d0
L1722
cmp.l d2,d0
blo.b L1721
L1723
;
bra L1770
L1724
; if (format == GL_RGBA)
cmp.l #$1908,d3
bne L1729
L1725
; GLuint *dst = (GLuint *) destination;
move.l a2,a1
; for (i=0;
moveq #0,d0
bra L1727
L1726
; dst[i] = (((GLint) (red[i] * 2
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d3
moveq #$8,d4
asl.l d4,d3
or.l d3,d1
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d3
moveq #$10,d4
asl.l d4,d3
or.l d3,d1
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d3
moveq #$18,d4
asl.l d4,d3
or.l d3,d1
move.l d1,0(a1,d0.l*4)
addq.l #1,d0
L1727
cmp.l d2,d0
blo.b L1726
L1728
bra L1738
L1729
; else if (format == GL_BGRA)
cmp.l #$80E1,d3
bne L1734
L1730
; GLushort *dst = (GLushort *) destinati
move.l a2,a1
; for (i=0;
moveq #0,d0
bra L1732
L1731
; dst[i] = (((GLint) (blue[i] * 2
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d3
moveq #$8,d4
asl.l d4,d3
or.l d3,d1
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d3
moveq #$10,d4
asl.l d4,d3
or.l d3,d1
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d3
moveq #$18,d4
asl.l d4,d3
or.l d3,d1
move.w d1,0(a1,d0.l*2)
addq.l #1,d0
L1732
cmp.l d2,d0
blo.b L1731
L1733
bra L1738
L1734
; else if (format == GL_ABGR_EXT)
cmp.l #$8000,d3
bne L1738
L1735
; GLushort *dst = (GLushort *) destinati
move.l a2,a1
; for (i=0;
moveq #0,d0
bra L1737
L1736
; dst[i] = (((GLint) (alpha[i] * 2
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d1
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d3
moveq #$8,d4
asl.l d4,d3
or.l d3,d1
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d3
moveq #$10,d4
asl.l d4,d3
or.l d3,d1
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.437F0000,fp0
fmove.l fp0,d3
moveq #$18,d4
asl.l d4,d3
or.l d3,d1
move.w d1,0(a1,d0.l*2)
addq.l #1,d0
L1737
cmp.l d2,d0
blo.b L1736
L1738
;
bra L1770
L1739
; if (format == GL_RGBA)
cmp.l #$1908,d3
bne L1744
L1740
; GLuint *dst = (GLuint *) destination;
move.l a2,a1
; for (i=0;
moveq #0,d0
bra L1742
L1741
; dst[i] = (((GLint) (red[i] * 1
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.447FC000,fp0
fmove.l fp0,d1
moveq #$16,d3
asl.l d3,d1
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.447FC000,fp0
fmove.l fp0,d3
moveq #$C,d4
asl.l d4,d3
or.l d3,d1
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.447FC000,fp0
fmove.l fp0,d3
moveq #2,d4
asl.l d4,d3
or.l d3,d1
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.40400000,fp0
fmove.l fp0,d3
or.l d3,d1
move.l d1,0(a1,d0.l*4)
addq.l #1,d0
L1742
cmp.l d2,d0
blo.b L1741
L1743
bra L1753
L1744
; else if (format == GL_BGRA)
cmp.l #$80E1,d3
bne L1749
L1745
; GLushort *dst = (GLushort *) destinati
move.l a2,a1
; for (i=0;
moveq #0,d0
bra L1747
L1746
; dst[i] = (((GLint) (blue[i] * 1
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.447FC000,fp0
fmove.l fp0,d1
moveq #$16,d3
asl.l d3,d1
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.447FC000,fp0
fmove.l fp0,d3
moveq #$C,d4
asl.l d4,d3
or.l d3,d1
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.447FC000,fp0
fmove.l fp0,d3
moveq #2,d4
asl.l d4,d3
or.l d3,d1
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.40400000,fp0
fmove.l fp0,d3
or.l d3,d1
move.w d1,0(a1,d0.l*2)
addq.l #1,d0
L1747
cmp.l d2,d0
blo.b L1746
L1748
bra L1753
L1749
; else if (format == GL_ABGR_EXT)
cmp.l #$8000,d3
bne L1753
L1750
; GLushort *dst = (GLushort *) destinati
move.l a2,a1
; for (i=0;
moveq #0,d0
bra L1752
L1751
; dst[i] = (((GLint) (alpha[i] * 1
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.447FC000,fp0
fmove.l fp0,d1
moveq #$16,d3
asl.l d3,d1
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.447FC000,fp0
fmove.l fp0,d3
moveq #$C,d4
asl.l d4,d3
or.l d3,d1
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.447FC000,fp0
fmove.l fp0,d3
moveq #2,d4
asl.l d4,d3
or.l d3,d1
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.40400000,fp0
fmove.l fp0,d3
or.l d3,d1
move.w d1,0(a1,d0.l*2)
addq.l #1,d0
L1752
cmp.l d2,d0
blo.b L1751
L1753
;
bra L1770
L1754
; if (format == GL_RGBA)
cmp.l #$1908,d3
bne L1759
L1755
; GLuint *dst = (GLuint *) destination;
move.l a2,a1
; for (i=0;
moveq #0,d0
bra L1757
L1756
; dst[i] = (((GLint) (red[i] * 1
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.447FC000,fp0
fmove.l fp0,d1
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.447FC000,fp0
fmove.l fp0,d3
moveq #$A,d4
asl.l d4,d3
or.l d3,d1
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.447FC000,fp0
fmove.l fp0,d3
moveq #$14,d4
asl.l d4,d3
or.l d3,d1
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.40400000,fp0
fmove.l fp0,d3
moveq #$1E,d4
asl.l d4,d3
or.l d3,d1
move.l d1,0(a1,d0.l*4)
addq.l #1,d0
L1757
cmp.l d2,d0
blo.b L1756
L1758
bra L1768
L1759
; else if (format == GL_BGRA)
cmp.l #$80E1,d3
bne L1764
L1760
; GLushort *dst = (GLushort *) destinati
move.l a2,a1
; for (i=0;
moveq #0,d0
bra L1762
L1761
; dst[i] = (((GLint) (blue[i] * 1
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.447FC000,fp0
fmove.l fp0,d1
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.447FC000,fp0
fmove.l fp0,d3
moveq #$A,d4
asl.l d4,d3
or.l d3,d1
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.447FC000,fp0
fmove.l fp0,d3
moveq #$14,d4
asl.l d4,d3
or.l d3,d1
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.40400000,fp0
fmove.l fp0,d3
moveq #$1E,d4
asl.l d4,d3
or.l d3,d1
move.w d1,0(a1,d0.l*2)
addq.l #1,d0
L1762
cmp.l d2,d0
blo.b L1761
L1763
bra L1768
L1764
; else if (format == GL_ABGR_EXT)
cmp.l #$8000,d3
bne L1768
L1765
; GLushort *dst = (GLushort *) destinati
move.l a2,a1
; for (i=0;
moveq #0,d0
bra L1767
L1766
; dst[i] = (((GLint) (alpha[i] * 1
lea -$640C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.447FC000,fp0
fmove.l fp0,d1
lea -$4B0C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.447FC000,fp0
fmove.l fp0,d3
moveq #$A,d4
asl.l d4,d3
or.l d3,d1
lea -$320C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.447FC000,fp0
fmove.l fp0,d3
moveq #$14,d4
asl.l d4,d3
or.l d3,d1
lea -$190C(a5),a0
fmove.s 0(a0,d0.l*4),fp0
fmul.s #$.40400000,fp0
fmove.l fp0,d3
moveq #$1E,d4
asl.l d4,d3
or.l d3,d1
move.w d1,0(a1,d0.l*2)
addq.l #1,d0
L1767
cmp.l d2,d0
blo.b L1766
L1768
;
bra.b L1770
L1769
; gl_problem( ctx, "bad type in gl_pack_rgba_s
move.l #L1335,-(a7)
move.l a4,-(a7)
jsr _gl_problem
addq.w #$8,a7
L1770
fmovem.x (a7)+,fp2/fp3/fp4/fp5
movem.l (a7)+,d2-d4/a2-a4
unlk a5
rts
L1334
dc.b 'bad format in gl_pack_rgba_span',$A,0
L1335
dc.b 'bad type in gl_pack_rgba_span',0
END